Flask-Login,简略的来说,就是一个用户登录页面的设置,能够说通过这种办法,咱们能够对沉闷用户和不沉闷用户授予不同的权限。同时在会话的平安上有所保障。上面咱们就 Login 的一些应用益处进行介绍,而后带来具体的 Login 应用实例供大家学习,一起来看看具体的内容吧。
1、Login 的益处
会话中积攒的沉闷用户能够轻松登录。
能够限度未登录的用户拜访页面。
解决记住我的性能。
爱护对话 cookie 不被小偷偷走。
轻松集成到 Flask-Principal 或其余许可扩大。
2、应用实例
将须要提供一个 user_loader 回调。这个回调用于通过在会话中存储的 ID 来加载用户对象,它应该应用用户的 unicode ID,并返回绝对应的用户对象。例如:
@login_manager.user_loaderdef load_user(userid):return User.get(userid)
它应该返回 None (不要抛出一个异样) 如果 ID 有效.(在这种状况下,ID 应该手动的进行删除而后解决为持续运行。)
一旦用户认证通过,你能够通过函数 login_user 进行登入,例如:
@app.route("/login", methods=["GET", "POST"])def login():form = LoginForm()if form.validate_on_submit():# login and validate the user...login_user(user)flash("Logged in successfully.")return redirect(request.args.get("next") or url_for("index"))return render_template("login.html", form=form)
它是如此简略。你能够通过 current_user 代理获取用户,这个代理在整个模板中都是无效的:
{% if current_user.is_authenticated() %}
Hi {{current_user.name}}!
{% endif %}
页面如果须要用户登录才能够拜访能够应用 login_required 装璜器:
@app.route("/settings")@login_requireddef settings():pass
当用户须要登出时:
@app.route("/logout")@login_requireddef logout():logout_user()return redirect(somewhere)
它们行将登出,会话中的 cookie 将被全副革除。
以上就是 flask 中 Login 的应用,如果大家没有据说的 Login,无妨先就它进行一些根底的理解,而后再来领会它的用途。