一:认识路由:
(1):接受请求的类型:
@app.route('hello ',methods = ['GET ','POST'])
请求类型主要有两种(常用):GET 和 POST ;
GET: 直接输入的网址(url访问的就是GET请求)
POST: 使用到表单(提交数据)
二、 GET 和 POST的区别:
类型 | 特点 | 常见用途 |
---|---|---|
得到 | 请求参数放在网址 URL 中;数据公开 | 查询数据、打开网页、搜索、跳转等 |
邮政 | 请求参数放在请求体中;数据不显示在 URL 中 | 表单提交(登录、注册、上传文件)等 |
三:什么时候用 POST 请求?
常见使用 POST 的场景:
场景 | 示例 |
---|---|
用户登录 | 提交用户名和密码 |
注册新用户 | 提交用户填写的注册信息 |
发表留言 | 提交留言内容 |
上传文件 | 提交图片、PDF 等 |
提交搜索表单 | 搜索内容较复杂时 |
四:POST请求 实例:
- 用户登录 / 注册表单
python
<form method="POST" action="/login">
<input name="username">
<input name="password">
<button type="submit">登录</button>
</form>
- 提交评论 / 留言 / 反馈表单
python
<form method="POST" action="/comment">
<textarea name="content"></textarea>
</form>
- 上传文件(比如图片、简历)
python
<form method="POST" enctype="multipart/form-data" action="/upload">
<input type="file" name="photo">
</form>
- 修改数据库(如添加商品、发帖)
五:路由所匹配的url(用户输入的网址)重名会怎么样?
python
@app.route('/xxx')
def func1():
return "这是 func1"
@app.route('/xxx')
def func2():
return "这是 func2"
@app.route('/xxx') 就是如果两个路由的'/xxx'是一样的情况下,会怎么样:
(1):当访问类型相同的时候,都为GET:
当你访问 http://localhost:5000/xxx
,你会看到:
这是 func2
(2):访问类型不同的时候
python
@app.route('/login', methods=['GET'])
def show_form():
return '<form method="post">...</form>'
@app.route('/login', methods=['POST'])
def process_form():
return '处理登录表单'
因为输入的是地址,所以当然访问到的会是第一个
六:关于变量规则的使用:路由后面' XXX '内容的可随意添加
