flask路由与视图函数中参数传递

客户端(例如 Web 浏览器)把请求发送给 Web 服务器,Web 服务器再把请求发送给 Flask 程序实例。程序实例需要知道对每个 URL 请求运行哪些代码,所以保存了一个 URL 到 Python 函数的映射关系。处理 URL 和函数之间关系的程序称为路由

在 Flask 程序中定义路由的最简便方式,是使用程序实例提供的 app.route 修饰器,把修 饰的函数注册为路由。

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

Hello World!

'

像 index() 这样的函数称为视图函数(view function)。

传递参数

传递参数的语法是:"/<参数名>/",然后在视图函数中,也要定义同名的参数
converter:variable_name,其中converter就是类型名称

类型 说明
string 默认的数据类型,接受没有任何斜杠"/"的文本
int 接受整型
float 接受浮点类型
path 和string的类似,但是接受斜杠
uuid 只接受uuid字符串(唯一,长度过长)
any 可以指定多种路径。

'any’数据类型可以在一个"url"中的指定多个路径
eg:

from flask import Flask, config

app = Flask(__name__)

@app.route('//')
def detail(url_path,id):
    if url_path == "blog":
        return "博客详情:%s" % id
    else:
        return "用户详情:%s" % id

if __name__ == '__main__':
	app.run(host="0.0.0.0", port="8899", debug=True)

flask路由与视图函数中参数传递_第1张图片

flask路由与视图函数中参数传递_第2张图片

URL 与视图函数中两种方式传参方式
  • 第一种:使用 path 的形式(将参数嵌入到路径中)
@app.route('/user/')
      def user(name):
return '

Hello, %s!

' % name

在这里插入图片描述

  • 第二种:使用查询字符串的方式,就是通过 “?key=value” 的形式传递的
@app.route('/user/')
def user():
	username = request.args.get("name")
	return f"当前登录用户为:{username}!欢迎登录!!!"

flask路由与视图函数中参数传递_第3张图片

你可能感兴趣的:(Flask,flask路由与视图函数,flask,URL与视图函数中参数传递)