Flacon ne peut pas localiser répertoire de modèle lors de l'exécution avec twisted
Suivant quelques conseils que j'ai trouvé ici je suis en train d'utiliser la Fiole qu'une interface web pour une application qui s'exécute avec des tordus.
Comme suggéré dans le Flacon de la documentation, j'ai créé un "modèles" répertoire qui est au même niveau que mon script mais quand je lance le serveur, j'obtiens l'erreur suivante:
Erreur Interne Du Serveur
Le serveur a rencontré une erreur interne et a été incapable de répondre à votre demande. Soit le serveur est surchargé ou il y a une erreur dans l'application.
Quand je n'essayez pas de charger un modèle et il suffit d'écrire une chaîne de caractères dans la requête, il fonctionne très bien. C'est ce qui me fait penser qu'elle est liée à la charge de la modèle.
from twisted.internet import reactor
from twisted.web.resource import Resource
from twisted.web.wsgi import WSGIResource
from twisted.internet.threads import deferToThread
from twisted.web.server import Site, NOT_DONE_YET
from flask import Flask, request, session, redirect, url_for, abort, \
render_template, flash
app= Flask(__name__)
app.config.from_object(__name__)
@app.route('/login', methods= ['GET', 'POST'])
def login():
return render_template('login.html', error= error)
if __name__ == '__main__':
root = WSGIResource(reactor, reactor.getThreadPool(), app)
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()
- J'ai oublié de dire que je suis en cours d'exécution du script sous windows avec python 2.7
- Avez-vous vérifié que le répertoire de travail actuel, c'est quand vous êtes dans twistied? Il sonne comme il pourrait ne pas être ce que vous attendez.
- Salut, en effet j'ai besoin de vérifier le répertoire courant, mais avez-vous une idée de quelle variable il est stocké ?
- os.getcwd() donne à vous comme une chaîne de caractères.
Vous devez vous connecter pour publier un commentaire.
Certains cadres de changer de répertoire de votre répertoire de travail courant lorsqu'ils sont exécutés en mode démon, et ce pourrait très bien être le cas ici.
Flacon, depuis la 0.7, a pris en charge le passage d'un template_folder argument mot-clé lors de l'appel de Flacon, de sorte que vous pourriez essayer:
Vous pouvez nourrir Jinja2 avec une valeur par défaut
templates
répertoire (comme écrit ici) comme ceci :