摘要:本文主要向大家介绍了Flash基础入门之python tornado 中使用 flash消息闪现,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
本文主要向大家介绍了Flash基础入门之python tornado 中使用 flash消息闪现,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
1.html 中引入文件
{% block head %}
{% end %}
2.html 页面中设置
html页面代码与flask相同
#普通闪现
{% for message in get_flashed_messages() %}
{{ message }}
{% end %}
#分类闪现
{% for category, message in get_flashed_messages(with_categories=True) %}
{% if category == 'error' %}
<p style="{{ message }}
{% elif category == 'success'%}
{{ message }}
{% end %}
{% end %}
#过滤闪现
{% for message in get_flashed_messages(category_filter=["error"]) %}
{{ message }}
{% end %}
{% for message in get_flashed_messages(category_filter=["success"]) %}
{{ message }}
{% end %}
#弹窗
{% for category, message in get_flashed_messages(with_categories=True) %}
{% if category == 'error' %}
< script type = "text/javascript" >
swal({
'title': '错误',
'text': '{{ message }}',
'type': 'error',
'showCancelButton': false,
'showConfirmButton': false,
'timer': 2000
});
< / script >
{% elif category == 'success' %}
< script type = "text/javascript" >
swal({
'title': '正确',
'text': '{{ message }}',
'type': 'success',
'showCancelButton': false,
'showConfirmButton': false,
'timer': 2000,
})
< / script >
{% end %}
{% end %}
3. 导入flash文件
flash.py
#coding=utf-8
def flash(self, message, category='message'):
"""先调用flash"""
flashes = self.session.get('_flashes', [])
flashes.append((category, message)) #[('error', '保存失败'),('ok', '分类保存了')]
self.session.set('_flashes', flashes)
def get_flashed_messages(self, with_categories=False, category_filter=[]):
"""后调用get_flashed_messages
{% for category, message in get_flashed_messages(with_categories=True) %}
{% if category == 'error' %}
"""
flashes = self.flashes
if flashes is None:
self.flashes = flashes = self.session.get('_flashes', [])
del self.session['_flashes']
if category_filter:
flashes = list(filter(lambda f: f[0] in category_filter, flashes))
if not with_categories:
return [x[1] for x in flashes]
return flashes #[('error', '保存失败')]
4. tornado 传递函数
from libs.flash.flash_lib import get_flashed_messages
from libs.permission.permission_auth.permission_interface_libs import menu_permission
settings = dict(
template_path = 'templates',
static_path = 'static',
debug = True,
cookie_secret = 'aaaa',
login_url = '/auth/user_login',
xsrf_cookies = True,
ui_methods= {
"menu_permission": menu_permission,
"get_flashed_messages": get_flashed_messages # flash 消息闪现函数
},
# pycket的配置信息
pycket = {
'engine': 'redis', # 设置存储器类型
'storage': {
'host': 'localhost',
'port': 6379,
'db_sessions': 5,
'db_notifications': 11,
'max_connections': 2 ** 31,
},
'cookies': {
'expires_days': 30, # 设置过期时间
#'max_age': 5000,
},
},
)
5.代码中设置消息内容
注意先导入 flash 文件
示例:
def del_role_lib(self, roleid):
"""03删除角色"""
role= Role.by_id(roleid)
if role is None:
flash(self, "角色删除失败", "error") return
self.db.delete(role)
self.db.commit()
flash(self, "角色删除成功", "success")
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件Flash频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号