首页 > 其他分享 >flask 闪现(flash)

flask 闪现(flash)

时间:2024-06-24 08:59:32浏览次数:3  
标签:get flask 闪现 flash messages request django message

闪现(flash)

flask中得闪现存放数据的地方,一旦取了,数据就没了

实现跨请求间传递数据

基本使用

  • 设置:flash('欢迎你')

  • 取:get_flashed_messages()

from flask import Flask, request, render_template, redirect,flash,get_flashed_messages

app = Flask(__name__)

app.debug = True
# 要用闪现,必须指定secret_key--》闪现内部使用session实现的
app.secret_key='asdfasdf'


@app.route('/login', endpoint='login',methods=['GET','POST'])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        username = request.form.get('username')
        password = request.form.get('password')
        if username == 'lqz' and password == '123':
            # 使用闪现,放个数据
            flash('欢迎你')
            return redirect('/')
        else:
            flash('用户名密码错误')
            return redirect('/')

@app.route('/')
def index():
    # 从闪现中取出数据
    # print(get_flashed_messages())
    return render_template('index.html')

if __name__ == '__main__':
    app.run()
  • 根据标签设置和取值
flash('超时错误',category="x1")
get_flashed_messages(category_filter=['x1'])

django中使用

################ 1 基础配置############
INSTALLED_APPS = [
    ...
    'django.contrib.messages',
    ...
]
# 在django setting.py 取消注释的message app
MIDDLEWARE = [
    ...
    'django.contrib.messages.middleware.MessageMiddleware',
    ...
]
# 在django setting.py 取消注释的message 的中间件
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                ...
                'django.contrib.messages.context_processors.messages',
            ],
        }
    }
]
################ 2 设置存放位置############
MESSAGE_STORAGE = "django.contrib.messages.storage.session.SessionStorage"


################ 3 放入值############
#添加message
from django.contrib import messages
def concel_order(request):
    messages.add_message(request, messages.SUCCESS, "删除成功1")
    messages.add_message(request, messages.SUCCESS, "删除成功2")
    
    return redirect("/order/control/")

################ 4 视图函数中取############
# 在视图函数中添加messages模块
# 再通过messages.add_message导入提示信息
# 在视图函数中import get_messages模块获取添加的提示信息
def control_order(request):
    if request.method == "GET":
        from django.contrib.messages.api import get_messages
        m1 = get_messages(request)
        print(m1)
        
################ 5 模板中取############
# 在html模板中添加for循环拿到message
<div>
    {% for obj in messages %}
        <ul>{{ obj.message }}</ul>
    {% endfor %}
</div>

标签:get,flask,闪现,flash,messages,request,django,message
From: https://www.cnblogs.com/unrealqcc/p/18264299

相关文章

  • flask cbv加装饰器
    cbv加装饰器fromflaskimportFlaskfromflask.viewsimportMethodViewapp=Flask(__name__)app.debug=True###登录认证--->不能公用--》要么只能给fbv用,要么只能给cbv用defauth(func):definner(*args,**kwargs):print(args)#cbv,会有第一个参......
  • flask 定制命令
    flask定制命令使用flask-script定制命令(老版本,不用了)#flask老版本中,没有命令运行项目,自定制命令#flask-script解决了这个问题:flask项目可以通过命令运行,可以定制命令1.x2.x#新版的flask--》官方支持定制命令click定制命令,这个模块就弃用了2.x3.x#fl......
  • Flash均衡读写
    #defineFLASH_INITIAL_BYTE0xff #definePAGE_NUM_PER_CONFIG       2 #defineCONFIG_FLASH_PAGE_START     508#defineCONFIG_BUF_SIZEsizeof(CFG_CHARGE_ST)/2#define  CONFIG_FLASH_ADDRESS_START......
  • Flask
    Flask1python界的web框架-Django:大而全,你要的东西都有[orm,缓存,认证] django-ninja-flask:小而精,所有web开发需要的东西,借助于第三方集成-web.py-----同步框架--进程线程架构--3.x以后支持异步--tornadosanicfastapi:高性能小而精,借助于第......
  • Flask新手入门(一)
    前言Flask是一个用Python编写的轻量级Web应用框架。它最初由ArminRonacher作为Werkzeug的一个子项目在2010年开发出来。Werkzeug是一个综合工具包,提供了各种用于Web应用开发的工具和函数。自发布以来,Flask因其简洁和灵活性而迅速受到开发者的欢迎。随着Python社区的增长,Fl......
  • python web框架哪家强?Flask、Django、FastAPI对比
    前言当你掌握了python的基础知识,并且会用和HTML和CSS编写简单的静态网页。现在你只需再掌握一个pythonweb框架的知识,就可以开始编写一个动态的网站了。目前市面比较流程的pythonweb框架有三个flask、Django、FastAPI。接下来我们对比一下。他们三个各自有什么特点。Flas......
  • 计算机毕业设计flask+python企业公司进销存管理系统
    1、内容和要求:(1)完成以下课题研究内容:①研究进销存系统相关理论、特征。②研究进销存系统背景和意义。③研究进销存系统现实发展前景。④对企业进销存系统进行需求分析。⑤设计和实现新疆世纪金桥企业进销存系统。⑥对设计的进销存系统进行测试。(2)完成......
  • [flask]统一API响应格式
    前言在设计API返回内容时,通常需要与前端约定好API返回响应体内容的格式。这样方便前端进行数据反序列化时相应的解析处理,也方便其它服务调用。不同公司有不同的响应内容规范要求,这里以常见的JSON响应体为例:{"code":200,"data":{"content":"thisis/a/1"......
  • flask-SQLAlchemy解决报错 Working outside of application context.
    尝试想要写自己的自动化测试框架,使用的是flask,想要使用SQLAlchemy实现数据库的模型映射,但是按照官方文档创建好module后执行时,会报错Workingoutsideofapplicationcontext.经过一番查找,存在flask的上下文问题,以下是解决过程官网案例:http://www.pythondoc.com/flask-sqlalche......
  • Flash驱动控制--芯片擦除(SPI协议)
    摘要:本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作。关键词:SPI;VerilogHDL;Flash【SPI协议通信模式】SPI是Motorola公司推出的一种同步串行接口,是一种高速、全双工、同步的通信总......