身份验证后更改 "Sign In through Steam" 徽标
Change "Sign In through Steam" logo after authentication
我正在学习 this 教程,该教程展示了如何在基于 Flask 的网站中通过 Steam 登录。所以问题是如何在用户登录时删除 "Sign In through Steam" 徽标并显示他的用户名而不是它?当他注销时做相反的事情?我现在 html 模板中的内容:
<li><a href="/login"><input type="image" name="SignIn" value="SignIn" src="static/steam.png"/></a></li>
我相信我们可以用 session
字典来做到这一点。
{% if not session.logged_in %}
<li><a href="/login"><input type="image" name="SignIn" value="SignIn" src="static/steam.png"/></a></li>
{% else %}
<li><a href="/logout">Logout</a></li>
{% endif %}
在提到的教程中,当前用户对象存储在 g.user
变量中:
@app.before_request
def before_request():
g.user = None
if 'user_id' in session:
g.user = User.query.get(session['user_id'])
这个 g
全局变量 is available 在 Jinja2 模板中也是如此。因此,您可以在模板中执行以下操作:
{% if g.user is defined and g.user is not none %}
{# User has logged in #}
<li>Hello, {{ g.user.nickname }}!</li>
<li><a href="/logout">Logout</a></li>
{% else %}
{# User has not logged in #}
<li><a href="/login"><input type="image" name="SignIn" value="SignIn" src="static/steam.png"/></a></li>
{% endif %}
我正在学习 this 教程,该教程展示了如何在基于 Flask 的网站中通过 Steam 登录。所以问题是如何在用户登录时删除 "Sign In through Steam" 徽标并显示他的用户名而不是它?当他注销时做相反的事情?我现在 html 模板中的内容:
<li><a href="/login"><input type="image" name="SignIn" value="SignIn" src="static/steam.png"/></a></li>
我相信我们可以用 session
字典来做到这一点。
{% if not session.logged_in %}
<li><a href="/login"><input type="image" name="SignIn" value="SignIn" src="static/steam.png"/></a></li>
{% else %}
<li><a href="/logout">Logout</a></li>
{% endif %}
在提到的教程中,当前用户对象存储在 g.user
变量中:
@app.before_request
def before_request():
g.user = None
if 'user_id' in session:
g.user = User.query.get(session['user_id'])
这个 g
全局变量 is available 在 Jinja2 模板中也是如此。因此,您可以在模板中执行以下操作:
{% if g.user is defined and g.user is not none %}
{# User has logged in #}
<li>Hello, {{ g.user.nickname }}!</li>
<li><a href="/logout">Logout</a></li>
{% else %}
{# User has not logged in #}
<li><a href="/login"><input type="image" name="SignIn" value="SignIn" src="static/steam.png"/></a></li>
{% endif %}