Устраните ошибку TemplateNotFound от Flask под Gunicorn

У меня есть приложение Flask, которое я пытаюсь развернуть с помощью Gunicorn и nginx. Однако, хотя он работает нормально локально, он выдает ошибку TemplateNotFound, когда я запускаю с Gunicorn на моем удаленном сервере.

Я не уверен, как вообще начать отлаживать это, не говоря уже о том, почему он не работает ... хотел бы помочь первым, если не вторым. Я подумал, что это может быть проблема с правами доступа, так что chmod & папка с шаблонами 777 ... не повезло. Вот все соответствующие детали:

install script

Начиная с простой установки Ubuntu 10.04, я запускаю это, чтобы настроить сервер и извлекать свой код:https://github.com/total-impact/total-impact-deploy/blob/master/deploy.sh, Затем я помещаю этот файл конфигурации nginx в / etc / nginx / sites-available / total-effect:

server {
    location / {
        proxy_pass http://127.0.0.1:8000;
    }
}

Наконец, я перехожу в каталог приложения и запускаюgunicorn web:appи нажмите IP-адрес сервера. Это генерирует 500 в браузере, и это выводит в командной строке:

stack trace:
[email protected]:/home/ti/total-impact-webapp/totalimpactwebapp# gunicorn web:app2012-05-28 23:15:06 [15313] [INFO] Starting gunicorn 0.14.3
2012-05-28 23:15:06 [15313] [INFO] Listening at: http://127.0.0.1:8000 (15313)
2012-05-28 23:15:06 [15313] [INFO] Using worker: sync
2012-05-28 23:15:06 [15316] [INFO] Booting worker with pid: 15316
2012-05-28 23:15:12,274 - totalimpactwebapp.core - ERROR - Exception on / [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1292, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1062, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1060, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1047, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/ti/total-impact-webapp/totalimpactwebapp/web.py", line 60, in home
    return render_template('index.html', commits=False)
  File "/usr/local/lib/python2.6/dist-packages/flask/templating.py", line 120, in render_template
    return _render(ctx.app.jinja_env.get_template(template_name),
  File "/usr/local/lib/python2.6/dist-packages/jinja2/environment.py", line 719, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/local/lib/python2.6/dist-packages/jinja2/environment.py", line 693, in _load_template
    template = self.loader.load(self, name, globals)
  File "/usr/local/lib/python2.6/dist-packages/jinja2/loaders.py", line 115, in load source, filename, uptodate = self.get_source(environment, name)
  File "/usr/local/lib/python2.6/dist-packages/flask/templating.py", line 61, in get_source
    raise TemplateNotFound(template)
TemplateNotFound: index.html

Ответы на вопрос(3)

Ваш ответ на вопрос