【发布时间】:2018-07-21 16:19:43
【问题描述】:
我需要在基本 html 模板中更改变量 login_status 的值,该模板用于每个 html 页面
Web应用程序。
技术:jinja2、python。
如果登录个人账号成功,则login_status得到字符串值'logout',
如果没有 - '登录'。但是正确的更改只发生在个人帐户的一页中,当我跳转时
到另一个页面,这个变量不会改变并且有默认值。
请帮我处理这个问题,展示在每个 html 页面上更改此变量的方法。
谢谢!
base.html
<li class="in">{{login_status | default('login')}}</li>
<form name="form_in" method = 'post' action = '/personal_account'>
<input type="text" placeholder="Login" id="log" name="login"/>
<input type="password" placeholder="Password" id="pass" name="password"/>
<input type="submit"/>
</form>
python函数
@app.route('/personal_account', methods=['POST'])
def welcome():
login = request.form['login']
password = request.form['password']
login_status = u'logout'
if not validate_user(login, password):
login_status = u'login'
return u'Incorrect login!', login_status
data = get_user_data(login)
return render_template('private.html',
data=data,
login_status=login_status)
编辑一个
我想只检查一次用户的状态,然后保存它并浏览我的应用程序的页面,而无需在每次更改 html 页面时向服务器发送检查请求。 “退出”按钮上的单击事件会导致用户状态发生变化。有可能这样做吗?如果是这样,那怎么办?
【问题讨论】:
-
我假设你也在使用 Flask?
-
是的。我正在使用 Flask