关于flask:flask中Login的使用

48次阅读

共计 1138 个字符,预计需要花费 3 分钟才能阅读完成。

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

正文完
 0