Flask: URL 视图函数 路由

Flask: URL 视图函数 路由

python 复制代码
from flask import Flask, request  
  
app = Flask(__name__)  
  
# URL: /  
# 视图函数: hello_world  
# 路由: 将根URL映射到hello_world函数  
@app.route('/')  
def hello_world():  
    return 'Hello, World!'  
  
# URL: /user/<int:user_id>  
# 视图函数: user_info  
# 路由: 将包含整数user_id的/user/URL映射到user_info函数  
@app.route('/user/<int:user_id>')  
def user_info(user_id):  
    return f'User ID: {user_id}'  
  
# URL: /search  
# 视图函数: search  
# 路由: 将/search URL映射到search函数,该函数通过查询字符串获取参数  
@app.route('/search')  
def search():  
    query = request.args.get('q')  
    return f'Searching for "{query}"'  
  
if __name__ == '__main__':  
    app.run(debug=True)

在您提供的Flask应用中,我们可以明确地区分出URL、视图函数和路由的概念:

URL

URL是用户在浏览器中看到的地址,用于定位资源。

在您的应用中,定义了三个URL:

python 复制代码
/
/user/<int:user_id>
/search

注意,/user/int:user_id中的int:user_id是一个动态部分,表示这个URL可以接受一个整数类型的user_id作为参数。

视图函数

视图函数是处理请求的Python函数。在Flask中,视图函数通常返回一个响应给客户端。

在您的应用中,定义了三个视图函数:

复制代码
hello_world:当访问根URL(/)时调用。
user_info:当访问类似/user/123(其中123是整数)的URL时调用,user_id作为参数传递给这个函数。
search:当访问/search并可能带有查询字符串(如/search?q=flask)时调用,这个函数通过request.args.get('q')获取查询字符串中的q参数。

路由

路由是URL和视图函数之间的映射关系。在Flask中,路由通过@app.route()装饰器定义。

在您的应用中,定义了三个路由:

复制代码
@app.route('/'):
将根URL(/)映射到hello_world视图函数。
@app.route('/user/<int:user_id>'):
将包含整数user_id的/user/URL映射到user_info视图函数。
@app.route('/search'):
将/searchURL映射到search视图函数。
简而言之,URL是用户访问的地址,视图函数是处理这些请求并返回响应的Python函数,而路由则定义了URL和视图函数之间的映射关系。
相关推荐
风吹夏回2 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
小熊Coding3 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋93 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本3 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
田里的水稻4 小时前
OE_ubuntu26.04与宿主机之间复制粘贴内容
人工智能·python·机器人
jiayong235 小时前
02 创建虚拟环境
python
旺仔来了5 小时前
不联网的Linux下部署python环境
linux·开发语言·python
小江的记录本5 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
IP搭子来一个5 小时前
爬虫采集大量返回 403、429,到底卡在哪一环?
网络·爬虫·python
deepin_sir5 小时前
06 综合对比与实战选型——到底该用哪个?
python