【Flask的CBV用法】 -- 2019-08-08 18:01:46

原文: http://106.13.73.98/__/118/

很简单的,记住用法就行,直接上代码。

from flask import Flask, views, request, redirect

from flask import flash, get_flashed_messages
# 闪现,与CBV无关,如果只想学习CBV,可忽略它
# flash:存数据  get_flashed_messages:取数据

app = Flask(__name__)
app.secret_key = '密钥'  # 使用flash时,需设置密钥

# CBV
class Login(views.MethodView):
    # 默认写出来的请求方法都被允许,如果还是想重定制,可使用methods属性来重新定义允许的请求
    # methods = ['GET', 'POST']

    # 这是CBV的特殊装饰器,按索引顺序执行
    # decorators = [is_login, ok_login]

    def get(self):
        return """
            <form method='post'>
                <input type='text' name='username'/>
                <button>提交</button>
            </form>
        """

    def post(self):
        username = request.form.get('username')
        flash(username)  # 存数据
        return redirect('/home')

# 注册CBV的路由
app.add_url_rule('/login', view_func=Login.as_view('login'))
# app.add_url_rule('/login02', view_func=Login.as_view('login02'))  # 一个CBV可以有多条路由

@app.route('/home')
def home():
    print(get_flashed_messages('username'))  # [('message', 'zyk')]
    # 第一次取时,有值;再次刷新页面时就没有了
    return 'Thie is home page.'

app.run(debug=True)

原文: http://106.13.73.98/__/118/

原文地址:https://www.cnblogs.com/gqy02/p/11322797.html

时间: 2024-11-06 19:40:10

【Flask的CBV用法】 -- 2019-08-08 18:01:46的相关文章

【Flask的CBV用法】 &#112125;

原文: http://blog.gqylpy.com/gqy/343 "很简单的,记住用法就行,直接上代码. from flask import Flask, views, request, redirect from flask import flash, get_flashed_messages # 闪现,与CBV无关,如果只想学习CBV,可忽略它 # flash:存数据 get_flashed_messages:取数据 app = Flask(__name__) app.secret_ke

2014/08/08 – Backbonejs

[来自: Backbone.js 开发秘笈 第5章] Event API: (function ($) { //define ------------------------- var obj = {}; var obj2 = { commonEvent: function () { window.document.title = new Date().toString(); } }; //扩展对象包含事件 _.extend(obj, Backbone.Events); _.extend(obj

原程序员的算法课(1)-算法概述2019年08月18日 17:58:49 十步杀一人_千里不留行 阅读数 11更多所属专栏: 程序员的算法课编辑

[算法之美]数据结构+算法=程序. 前言 数据结构只是静态的描述了数据元素之间的关系.高效的程序需要在数据结构的基础上设计和选择算法. 高效的程序=恰当的数据结构+合适的算法 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题.不同的算法可能用不同的时间.空间或效率来完成同样的任务.一

2019/09/08最新进展

今日完成的工作如下: 1.继续完善论文: 2.发现仿真数据出错了,原来是公式有个地方出错了... 修改后的公式为: (1)      当t1<=2.5s,v=v2 (2)      当2.7s > t1 >2.5s,v = v2 – ug(t^2)/0.4|t=t1-2.5 (3)      当t1>2.7s,  v’=v2-ug(0.2*0.2)-(v1/(ug)+0.1-2.7)*ug 3.根据公式进行仿真.写一个cpp: #include<bits/stdc++.h&g

PAT 甲级 A1019 (2019/02/08)

1 #include<cstdio> 2 bool Judge(int A[], int num){ 3 for(int i = 0; i < num; i++){ 4 if(A[i] == A[num-1-i]) 5 return true; 6 else 7 return false; 8 } 9 } 10 int main(){ 11 int N, b, A[40], num = 0; 12 scanf("%d %d", &N, &b); 13

2019.04.08打卡

1 #include <stdio.h> 2 #include <stdlib.h> 3 typedef int DataType; 4 typedef struct node{ 5 DataType data; 6 struct node *next; 7 }LinkNode,*LinkList; //LinkNode是JAVA中链表结点,此类可以存放int.long.float.double.byte.short.String.StringBuffer类型的数据 8 //定义单

2019 08 08 字符编码,文件操作

字符编码 一.计算机基础 cpu: 控制程序的运行(从内存中取出文本编辑器的数据读入内存) 内存: 运行程序(经cpu操作后,内存中含有文本编辑器的数据) 硬盘: 存储数据(文本编辑器) 二.文本编辑器存取文件的原理 ? 计算机只认识 0和1 ? 文本编辑器的作用: 读写数据,保存数据 打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失. 要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上. 在我们编写一个py文件(没有执行)

2019.10.08考试报告

T1 用一个堆维护最小的是谁,每次加入一个值x时查询堆顶是否小于x,有则买top卖x,之后分为是不是反悔操作判断要不要把pop. 然而好像其他人都push两个来进行反悔操作. 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<queue> 6 #define int long long 7 using namespace

PAT 甲级 A1027 (2019/02/08)

1 #include<cstdio> 2 int main(){ 3 char str[13] = {'0','1','2','3','4','5','6','7','8','9','A','B','C'}; 4 int a, b, c; 5 scanf("%d %d %d", &a, &b, &c); 6 printf("#"); 7 printf("%c%c",str[a/13], str[a%13]);