flask中的CBV和FBV】的更多相关文章

flask中CBV使用 from flask import Flask, views app = Flask(__name__) class Login(views.MethodView): methods = ['POST', 'GET'] # 如果需要在CBV中加装饰器的话,括号里就是装饰器的内存地址,可以传多个 decorators = () def get(self): print('get 请求') return 'login get' def post(self): print('p…
Flask中的CBV 第一种 class Index(views.MethodView): methods = ['GET', 'POST'] decorators = [] def get(self): return 'GET' def post(self): return 'POST' app.add_url_rule('/index', view_func=Index.as_view(name='index')) # name='index'相当于设置endpoint Index.as_v…
Django中的CBV和FBV 一.  CBV CBV是采用面向对象的方法写视图文件. CBV的执行流程: 浏览器向服务器端发送请求,服务器端的urls.py根据请求匹配url,找到要执行的视图类,执行dispatch方法区分出是POST请求还是GET请求,执行views.py对应类中的POST方法或GET方法. 使用实例: urls.py path('login/',views.Login.as_view()) views.py from django import views #在views…
一.flask中的CBV 对比django中的CBV,我们来看一下flask中的CBV怎么实现? from flask import Flask, render_template, url_for, views app = Flask(__name__) class Login(views.MethodView): def get(self): print(url_for("my_login")) # /login return render_template("login.…
一 . flask中的CBV 相对于Django中的CBV,让我们来看看flask中的CBV是如何实现的 ? from flask import Flask, render_template, url_for, views app = Flask(__name__) class Login(views.MethodView): def get(self): print(url_for("my_login")) # /login return render_template("…
Flask中的CBV以及正则表达式 一.CBV def auth(func): def inner(*args, **kwargs): print('before') result = func(*args, **kwargs) print('after') return result return inner class IndexView(views.View): methods = ['GET'] decorators = [auth, ] def dispatch_request(sel…
from flask import Flask, views, render_template, request app = Flask(__name__) app.config['DEBUG'] = True class Upload(views.MethodView): def get(self): return render_template('upload.html') def post(self): my_file = request.files.get('file') print(m…
一.before_request装饰器和after_request装饰器 我们现在有一个Flask程序其中有3个路由和视图函数 from flask import Flask app = Flask(__name__) # type:Flask @app.route("/login") def login(): return "Login" @app.route("/index") def index(): return "Index&…
一.FBV FBV(function base views) 就是在视图里使用函数处理请求,也是我们最开始接触和使用的方式,普通项目中最常见的方式. urls.py 1 2 3 4 urlpatterns = [     url(r'^admin/', admin.site.urls),     url(r'^login/$', account.login), ] views.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 登录验证 def login(r…
1.CBV和FBV的用法 2.序列化用法 3.form表单 一.CBV和FBV 1.cbv是 class based view(基于类),fbv是function based view(基于函数) 2.cbv基于dispatch进行反射,get获取,post提交 3.应用场景:登录认证(继承dispatch,在dispatch里做session验证) CBV第一种方式继承 1.单继承 扫盲:(继承的时候,一定要清楚self是哪个类实例化出来的对象,下例,self为B实例化的对象,任何属性优先从自…