Résoudre TemplateNotFound erreur de Flacon en vertu de Gunicorn

J'ai un Flacon d'application que je suis en train de déployer à l'aide de Gunicorn et de nginx. Cependant, bien qu'il fonctionne très bien en local, il jette un TemplateNotFound d'erreur quand je le lance avec Gunicorn sur mon serveur distant.

Je ne suis pas sûr de savoir comment même de démarrer le débogage de ce, et encore moins pourquoi il ne fonctionne pas...aimerais de l'aide sur l'ancien, si ce n'est la dernière. J'ai pensé que c'était peut-être un problème d'autorisations, de sorte chmod avais les modèles de dossier en 777...pas de chance. Voici tous les relavant de détails:

script d'installation

De départ avec un nu-installer Ubuntu 10.04, j'exécute ce afin de configurer le serveur et tirez dans mon code: https://github.com/total-impact/total-impact-deploy/blob/master/deploy.sh. Ensuite j'ai mis ce nginx fichier de config dans /etc/nginx/sites-available/total-impact:

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

Enfin, je peux naviguer dans le répertoire app et exécuter gunicorn web:app, et a frappé l'adresse IP du serveur. Cela génère un 500 dans le navigateur, et cette sortie sur la ligne de commande:

trace de la pile:

root@jc:/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
Je suis tombé sur cette même exception tout en travaillant à l'échelle locale. S'est avéré que j'ai nommée le modèle dir "modèle" au lieu de "modèles". Un simple mv template templates a fait le tour et je suis passé à traquer l'erreur suivante. 🙂

OriginalL'auteur thisismyname | 2012-05-29