AttributeError: '_AppCtxGlobals' objet n'a pas d'attribut "utilisateur" dans le Flacon
Je suis en train d'apprendre flacon en suivant les Flacon Mega Tutoriel. Dans partie 5, le login() de la vue est à modifier comme suit:
@app.route('/login', methods = ['GET', 'POST'])
@oid.loginhandler
def login():
if g.user is not None and g.user.is_authenticated():
return redirect(url_for('index'))
form = LoginForm()
if form.validate_on_submit():
session['remember_me'] = form.remember_me.data
return oid.try_login(form.openid.data, ask_for = ['nickname', 'email'])
return render_template('login.html',
title = 'Sign In',
form = form,
providers = app.config['OPENID_PROVIDERS'])
Cependant, cela me met un AttributeError dont je vais coller le StackTrace ci-dessous. Il donne une erreur sur un morceau de laquelle j'ai collé exactement à partir de la source des exemples. Je ne l'utilisation de PeeWee au lieu de SQLAlchemy, mais à partir de ce morceau de code n'est pas faire n'importe quoi avec la DB mais je ne sais pas pourquoi ce serait liée.
Quelqu'un sait ce que je fais de mal?
Traceback (most recent call last):
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/flask_openid.py", line 446, in decorated
return f(*args, **kwargs)
File "/Users/kramer65/dev/repos/microblog/app/views.py", line 31, in login
if g.user is not None and g.user.is_authenticated():
File "/Users/kramer65/dev/repos/microblog/flask/lib/python2.7/site-packages/werkzeug/local.py", line 338, in __getattr__
return getattr(self._get_current_object(), name)
AttributeError: '_AppCtxGlobals' object has no attribute 'user'
OriginalL'auteur kramer65 | 2014-01-15
Vous devez vous connecter pour publier un commentaire.
Le même tutoriel, un peu plus loin, explique comment
g.user
est défini:Votre code est apparemment absent cette
before_request
gestionnaire.Ensuite, vous devez vous demander pourquoi il n'est pas en cours d'exécution.
Passons sur le fait.. Comment stupide de moi.. j'ai été à la recherche sur le fichier téléchargé à partir du Flacon tutoriel au lieu de mon propre fichier. Vous étiez tout à fait raison. Je vais de ce pas la honte sur moi-même dans un coin maintenant.. Merci beaucoup!!
Pas un problème, bien contente d'avoir eu de l'aide! 🙂
OriginalL'auteur Martijn Pieters