I m trying to use the current user in my view from flask-login. So i tried to g object
I m assigning flask.ext.login.current_user
to g object
@pot.before_request def load_users(): g.user = current_user.username
It works if the user is correct. But when i do sign-up or login as with wrong credentials I get this error
AttributeError: 'AnonymousUserMixin' object has no attribute 'username'
Please enlight me where am i wrong...
In your login function just store the value like: first import the session from flask. Then use like this. then use it like {{ session['username'] }} in your template. Is this recommended for flask security because it takes care of all of the user login management.
By default, Flask-Login uses sessions for authentication. This means you must set the secret key on your application, otherwise Flask will give you an error message telling you to do so. See the Flask documentation on sessions to see how to set a secret key.
Thanks for your answer @Joe and @pjnola, as you all suggested i referred flask-login docs
I found that we can customize the anonymous user class, so i customized for my requirement,
Anonymous class
#!/usr/bin/python #flask-login anonymous user class from flask.ext.login import AnonymousUserMixin class Anonymous(AnonymousUserMixin): def __init__(self): self.username = 'Guest'
Then added this class to anonymous_user
login_manager.anonymous_user = Anonymous
From this it was able to fetch the username if it was anonymous request.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With