首页 > 其他分享 >Flask的CBV用法

Flask的CBV用法

时间:2024-02-29 15:45:18浏览次数:24  
标签:__ endpoint name Flask app 用法 CBV view

FBV写法

from flask import Flask, jsonify

app = Flask(__name__)
app.debug = True


@app.route('/')
def index():
    return 'hello'

CBV写法

# 导入模块
from flask.views import MethodView
# 固定写法
from flask import Flask

app = Flask(__name__)
app.debug = True

# 书写类方法
class UserView(MethodView):
    def get(self):
        return '我是get'

    def post(self):
        return '我是post'

# 注册路由(as_view传的就是路径名)
app.add_url_rule('/user', 'user', UserView.as_view('user'))

# 运行
if __name__ == '__main__':
    app.run()

注意事项

# as_view必须加一个字符串---》是路由的别名
# endpoint 和 as_view(name= 路由别名),以谁为准?
# 读源码后,知道了,以 endpoint 为准

# 如果endpoint 没传--》endpoint是 view_func.__name__ 视图函数的名字 ,别名就是函数名
# 如果endpoint 没传,as_view(name= 路由别名)也没传---》去视图函数名字-->视图函数都是:view
# as_view(name= 路由别名) 有什么用? 把view的名字改为了,你传入的字符串名

标签:__,endpoint,name,Flask,app,用法,CBV,view
From: https://www.cnblogs.com/wellplayed/p/18044413

相关文章

  • Flask转换器
    配置文件预览DEFAULT_CONVERTERS={'default':UnicodeConverter,'string':UnicodeConverter,'any':AnyConverter,'path':PathConverter,'int':......
  • jq ajax传递json对象到服务端及contentType的用法
    目录0、一般情况下,通过键值对的方式将参数传递到服务端0.1客户端代码:0.2服务端代码:0.3在浏览器的网络中查看此次请求:1、ajax传递复杂json对象到服务端1.1方法一:通过formdata传值,服务端通过key获取值;1.2方法二:通过formdata方式传值,服务端读取Request.InputStrea......
  • 深度学习-卷积神经网络-tensorflow的用法-49
    目录1.01_first_graph2.sessionrun3.global_variables_initializer4.InteractiveSession5.get_default_graph6.life_cicycle07linear_regression8.manual_gradient9.auto_diff12.softmax_regression13.convolution14.pooling1.01_first_graphimporttensorflowa......
  • vector用法
    1.vector的构造函数函数原型:1.vector<T>v;//使用模板类,默认构造函数2.vector(v.begin(),v.end());//将[v.begin(),v.end())区间中的元素拷贝给本身3.vextor(n,elem);//将n个elem拷贝给本身4.vector(constvector&v);//拷贝构造函数2.vector的赋值操作函数原型:1.vector&o......
  • FastAPI系列:模型用法
    模型基本用法frompydanticimportBaseModelclassItem(BaseModel):#通过继承BaseModelname:strprice:floatis_offer:Union[bool,None]=None常用的模型属性和方法dict()#将数据模型的字段和值封装成字典json()#将数据模型的字段和值封装成json格......
  • Flask路由系统
    前置代码fromflaskimportFlask,jsonifyapp=Flask(__name__)1flask路由系统是基于装饰器的,但是它的本质是:add_url_rule2装饰器的参数及作用'''1rule:路径2methods:可以允许的请求方式3endpoint:路由别名'''3如果不用装饰器注册路由,需要使......
  • Flask使用装饰器注意点
    一装饰器,需要放在路由装饰器下面'''在执行视图函数之前,做判断--》路由的装饰器是控制路由匹配的--》需要先执行,所以登录认证装饰器,需要放在下面'''二需要直接指定路由别名原因'''直接添加会报错————每个路由,都会有个别名,如果不写,默认以函数名作为别名如果视图......
  • Flask新手四件套、session、转换器、取数据与模板语法
    新手四件套(返回格式)#导入fromflaskimportFlask,request,render_template,redirect,session#返回字符串return'字符串'#返回模板returnrender_template('模板名字')#传参returnrender_template('模板名字',key=value)#返回重定向returnredirect('/......
  • flask_02
    #1flask介绍 web框架---》小而精--》第三方插件--》完成更丰富的功能--》自由选择第三方插件#2wsgi协议:werkzeug:工具包uwsgi,wsgiref djagno,flask要遵循wsgi协议#3click定制命令 -定制命令--》把excel中得数据---》导入到mysql的某个表中......
  • Python面向对象,类属性,实例属性,类方法,实例方法,静态方法的区别及用法详解
    一.前言在Python的面向对象编程中,类属性和实例属性是两个不同的概念,它们在作用域和使用方式上有所区别。在Python中的面向对象编程中有三种方法:实例方法、类方法和静态方法,它们之间的差异主要体现在参数传递和调用方式上。二.面向对象-类属性和实例属性1.区别在Pyth......