zoukankan      html  css  js  c++  java
  • CBV

    CBV

    基础版

    from flask import Flask,views,url_for
    
    app = Flask(__name__)
    def tt(func):
       def inner(*args,**kwargs):
           print("你追到我。。")
           rv = func(*args,**kwargs)
           print("嘿嘿嘿。。。")
           return  rv
       return inner
    
    class Index(views.View):
        methods = ["GET"] #规定哪些请求方式可以请求我这个路由
        decorators =[tt,]   #这个是给 我们的响应添加装饰器
        def dispatch_request(self):
            return "ojbk"
    
    app.add_url_rule("/index",view_func=Index.as_view(name="index"),endpoint="index1")
    # 为什么要给as_view传递name= "index",
    #1 as_view在语法就要你传,
    #2 他作用Index.as_view(name="index")他返回是的view这个函数对象,我们传递name="index"是给view的__name__改变名字。如果不传,我没有办法通过名字来找路由的映射关系,因为都是”view“
    

    常用版

    from flask import Flask,views,url_for
    
    app = Flask(__name__)
    def tt(func):
       def inner(*args,**kwargs):
           print("你追到我。。")
           rv = func(*args,**kwargs)
           print("嘿嘿嘿。。。")
           return  rv
       return inner
    
    class Login(views.MethodView):
        methods = ["GET","POST"]  # 规定哪些请求方式可以请求我这个路由
        #decorators = [tt, ]  # 这个是给 我们的响应添加装饰器
        def get(self):
            # print(url_for("index1"))
            return "get"
        def post(self):
            return "post"
    
    app.add_url_rule("/login",view_func=Login.as_view(name="login"))
    #实现方法是重写了dispatch_request,通过请求方法,来找到当前类中的函数。
    
    if __name__ == '__main__':
        app.run()
    
  • 相关阅读:
    2019-1-17水晶报表函数大全
    2019-1-17【水晶报表内功心法】--推拉之间
    2019-1-17水晶报表技巧总结【二】
    2019-1-16 水晶报表自动补空行
    2019-1-16水晶报表技巧总结【一】
    博客园添加访客人数
    2019-1-11存储过程的查看
    2019-1-11数据库重构
    lcx端口转发 linux版
    PentesterLab-From SQL Injection to Shell: PostgreSQL edition
  • 原文地址:https://www.cnblogs.com/kai-/p/12526338.html
Copyright © 2011-2022 走看看