目录
  • 一、route()路由概述
  • 二、静态路由和动态路径
    • 方式1:静态路由
    • 方式2:动态路由
  • 三、route()其它参数
    • 1.methods=[‘GET’,‘POST’]

一、route()路由概述

  • 功能:将URL绑定到函数
  • 路由函数route()的调用有两种方式:静态路由和动态路由

二、静态路由和动态路径

方式1:静态路由

@app.route(“/xxx”) xxx为静态路径 如::/index / /base等,可以返回一个值、字符串、页面等

from flask import Flask
app = Flask(__name__)

@app.route('/hello')
def hello_world():
    return 'Hello World!!!'
    
@app.route('/pro')
def index():
    return render_template('login.html')

if __name__ == '__main__':
    app.run(debug = True)

方式2:动态路由

采用<>进行动态url的传递

@app.route(“/”),这里xxx为不确定的路径。

from flask import Flask
app = Flask(__name__)

@app.route('/hello/<name>')
def hello_name(name):
   return 'Hello %s!' % name

if __name__ == '__main__':
   app.run(debug = True)
  • 如果浏览器地址栏输入:http:// localhost:5000/hello/w3cschool
  • 则会在页面显示:Hello w3cschool!

三、route()其它参数

1.methods=[‘GET’,‘POST’]

  • 当前视图函数支持的请求方式,不设置默认为GET
  • 请求方式不区分大小写
    • methods=[‘GET’] 支持的请求方法为GET
    • methods=[‘POST’] 支持的请求方法为POST
    • methods=[‘GET’,‘POST’] 支持的请求方法为POST GET
  @app.route('/login', methods=['GET', 'POST'])  # 请求参数设置不区分大小写,源码中自动进行了upper
  def login():
      if request.method == 'GET':
          return render_template('login.html')
      elif request.method == 'POST':
          username = request.form.get('username')
          pwd = request.form.get('pwd')
          if username == 'yang' and pwd == '123456':
              session['username'] = username
              return 'login successed 200  ok!'
          else:
              return 'login failed!!!'
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。