zoukankan      html  css  js  c++  java
  • Flask 路由本质以及参数

    Flask路由本质以及参数
    from flask import Flask,url_for,redirect
    app = Flask(__name__)
    # @app.route("/")
    def index(nid):
        print(nid,type(nid))
    
        return "ojbk"
    
    # @app.route的本质就在执行add_url_rule,这个中的rule是路由,endpoint是路由别名,view_func是响应函数
    # 如果endpoint不传就是响应的函数名
    
    # <int:nid>里的int表示传过来参数的类型,这里的nid必须和上面index视图函数传过来的形参一致
    # methods,可以控制该方法能有哪些请求方式可以访问
    app.add_url_rule("/index/<int:nid>", endpoint="index1",view_func=index,methods=["POST","GET"])
    
    @app.route("/login",methods=["POST"])
    def login():
        #用endpoint取路由要用url_for 在flask中导入,也就是反向解析
        print(url_for("index1"))
        # return  redirect(url_for("index1"))
    
    if __name__ == '__main__':
        app.run()
        
     '''
     总结:
     1 @app.route("/login") 的本质app.add_url_rule("/login",view_func=login),所以我们就可以用这两个方式来添加路由
     2 路由的参数,
         2.1 endpoint,做是反向解析,如果上面添加路由的时候,没有传递endpoint就是使用响应函数的函数名,反向解析用url_for()做解析,这个url_for必须在flask里面导入
         2.2 methods=["POST","GET"],该参数控制路由允许哪些请求方法访问,如果不传,默认只能GET方法
         2.3 路由以及路由路由转化器。"/index/<int:nid>",<参数的类型:用哪个变量来接收>,响应函数中的形参的名字必须转化器中一致。
     
     '''   
       
  • 相关阅读:
    不移除通知的话,出现的bug
    嵌入式-第一季-第14课
    嵌入式-第一季-第13课
    嵌入式-第一季-第12课
    嵌入式-第一季-第11课
    嵌入式-第一季-第10课
    嵌入式-第一季-第9课
    嵌入式-第一季-第8课
    嵌入式-第一季-第7课
    嵌入式-第一季-第6课
  • 原文地址:https://www.cnblogs.com/baohanblog/p/12522039.html
Copyright © 2011-2022 走看看