在 Python 的 Web 开发领域,路由和视图函数是构建 Web 应用不可或缺的部分。它们就像是 Web 应用的 “交通枢纽” 和 “服务窗口”,路由负责引导用户请求到达正确的处理地点,而视图函数则负责处理这些请求并返回相应的响应。接下来,我们将以 Flask 框架为例,深入了解路由和视图函数的相关知识。
一、路由和视图函数的基本概念
路由:可以把路由想象成现实生活中的地图导航。当用户在浏览器中输入一个 URL,就好比告诉导航要去哪里,而路由系统会根据这个 URL 找到对应的处理逻辑。在 Web 开发中,路由就是定义 URL 和处理函数之间的映射关系。例如,当用户访问/home
这个 URL 时,路由系统会把这个请求指向处理/home
页面的函数。
视图函数:视图函数是处理用户请求的具体函数,它接收请求,进行相应的处理,然后返回一个响应给用户。这个响应可以是简单的文本、HTML 页面、JSON 数据等。比如,当用户请求一个商品详情页面,视图函数会从数据库中获取商品的相关信息,然后将这些信息整理成 HTML 页面返回给用户。
二、Flask 框架中的路由和视图函数
Flask 是一个轻量级的 Python Web 框架,它的路由和视图函数的定义非常简洁直观。
(一)项目目录结构
一个简单的 Flask 项目,包含路由和视图函数相关代码的目录结构如下:
python">your_flask_project/
├── app.py
├── templates
│ └── home.html
└── static
├── css
│ └── style.css
├── js
│ └── script.js
└── images
└── logo.png
app.py
:主应用文件,在这里定义路由和视图函数。
templates
文件夹:存放 HTML 模板文件,用于生成返回给用户的页面。
static
文件夹:存放 CSS、JavaScript、图片等静态文件,用于美化和增强页面的交互性。
(二)完整的app.py
范例
python">from flask import Flask, render_template
# 创建Flask应用实例
app = Flask(__name__)
# 定义根路径的路由和视图函数
@app.route('/')
def index