Ну не выходит у меня. Загвоздка в ненайденом .tpl файле. Однако, подозреваю, что и static работать тоже не будет.
Знаю, что дело в путях, но решить это не смог.
КОД
import requests
from bottle import route, request, run, static_file, template
@route('/')
def index():
return template('index.tpl', root='.')
@route('/static/<filename>')
def server_static(filename):
return static_file(filename, root='./static')
run(host='localhost', port=80, )
localhost - конечно же заменён на адрес сервера.
Скрипт длиннее, но даже в этом виде не работает.
На локальном компьютере всё работает.
Если в убунту зайти прямо в папку, где лежит скрипт и
~python3 main.py - тоже всё работает.
Однако, если запускать как
~python3 /home/www/main.py - то фигушки, выдаёт батловскую err500
"'index.tpl' not found"
Соответственно не работает запуск скрипта, как сервиса.
Ах да, пробовал ещё добавлять код из интернета, который вроде бы должен решить проблему, но нет.
#!/usr/bin/python3
import requests
from bottle import route, request, run, static_file, template
import os
import sys
# add your project directory to the sys.path
project_home = '/home/covidpy/'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
# make sure the default templates directory is known to Bottle
templates_dir = os.path.join(project_home, 'views/')
if templates_dir not in bottle.TEMPLATE_PATH:
bottle.TEMPLATE_PATH.insert(0, templates_dir)
@route('/')
def index():
return template('index.tpl', root='/views')
@route('/static/<filename>')
def server_static(filename):
return static_file(filename, root='/static')
run(host='', port=80, )