返回介绍

在模板中显示已登录的用户

发布于 2025-01-02 21:53:50 字数 1354 浏览 0 评论 0 收藏 0

你还记得在实现用户子系统之前的 第二章 中,我创建了一个模拟的用户来帮助我设计主页的事情吗? 现在,应用实现了真正的用户,我就可以删除模拟用户了。 取而代之,我会在模板中使用 Flask-Login 的 current_user

{% extends "base.html" %}

{% block content %}
    <h1>Hi, {{ current_user.username }}!</h1>
    {% for post in posts %}
    <div><p>{{ post.author.username }} says: <b>{{ post.body }}</b></p></div>
    {% endfor %}
{% endblock %}

并且我可以在视图函数传入渲染模板函数的参数中删除 user 了:

@app.route('/')
@app.route('/index')
def index():
    # ...
    return render_template("index.html", title='Home Page', posts=posts)

这正是测试登录和注销功能运作机制的好时机。 由于仍然没有用户注册功能,所以添加用户到数据库的唯一方法是通过 Python shell 执行,所以运行 flask shell 并输入以下命令来注册用户:

>>> u = User(username='susan', email='susan@example.com')
>>> u.set_password('cat')
>>> db.session.add(u)
>>> db.session.commit()

如果启动应用并尝试访问 http://localhost:5000/http://localhost:5000/index ,会立即重定向到登录页面。在使用之前添加到数据库的凭据登录后,就会跳转回到之前访问的页面,并看到其中的个性化欢迎。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文