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,无妨先就它进行一些根底的理解,而后再来领会它的用途。