Flash基础入门之python tornado 中使用 flash消息闪现
小标 2018-08-24 来源 : 阅读 2288 评论 0

摘要:本文主要向大家介绍了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频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程