小标
2018-05-29
来源 :
阅读 1636
评论 0
摘要:本文主要向大家介绍了Flash基础入门的flash消息,通过具体的案例向大家展示,希望对大家学习Flash基础入门。
本文主要向大家介绍了Flash基础入门的flash消息,通过具体的案例向大家展示,希望对大家学习Flash基础入门。
请求完成后,想要让用户知道状态发生了变化
确认信息,警告,或者错误提醒
例子:
用户提交了一个错误的登录表单之后,服务器发回的响应重新渲染了登录表单,并在表单上显示了一个消息,提示用户用户名或者密码错误
flash()函数
修改上一个hello.py
#主页
@app.route('/')
def index():
name = None
form = NameForm()
if form.validate_on_submit():
old_name = session.get['name']
#每次提交的表单的名字都会和存储在session会话中的名字比较
if old_name is not None and old_name!=form.name.data:
#名字不同显示flash消息
flash('Looks like you have changed your name!')
# 会用新名字存储到用户会话session中
session['name'] = form.name.data
return redirect(url_for('index'))
#渲染,模板会变化
return render_template('index.html',form=form,name=session.get('name'))用户会话中存储的名字是上一个表单中提交的数据
如果两个名字不一样,就会调用flash()函数,在发给客户端的下一个响应中显示消息
仅调用flash()函数不能显示出消息,还用在模板中渲染这些消息
在基模板中渲染flash消息,这样所有的页面都会使用这些消息
get_flashed_messages()函数
flask将get_flashed_messages()函数开放给模板,用来获取并渲染消息
在上一个版本的base.html中写入
<!-- content中有一个<div>容器,包含了页面头部 -->
{% block content %} <!-- content表示主体内容 -->
<div>
{% for message in get_flashed_messages() %}
<div class="alert alert-warning">
<button type="button" data-dismiss="alert">×</button>
{{message}}
</div>
{%endfor%}
{% block page_content%}{%endblock%}
</div>
{% endblock%}使用alert-warning渲染所有的消息
模板中使用循环,请求循环中每次调用flash()函数都会生成消息,可能有多个消息在排队等待显示
get_flashed_messages()函数获取消息在下次调用时不会再次返回,flash消息只显示一次,然后消失

本文由职坐标整理并发布,了解更多内容,请关注职坐标常用软件Flash频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号