一、路由
1、什么是路由?
在入门篇中我们已经实现了一个最小的Flask应用,当我们访问到http://127.0.0.1:5000/ 时页面就会显示出我们在hello()
返回的“Hello World!”。像在这个应用中的route("/")
装饰器将一个方法绑定到某一个指定的URL上就叫做路由。
2、路由变量规则
在URL中可以添加变量,<variable_name>
标记变量的名字, 可以作为命名参数传递到视图函数中使用。可根据规则<converter:variable_name>
来指定一个可选的转换器。如:
1 |
|
支持的转换器有:
数据类型 | |
---|---|
int | 整型变量 |
float | 整型或浮点型变量 |
path | 和默认的相似,但也接受斜线 |
规范的URL在末尾带有”/“。如:
1 | app.route("/home/") |
如果在浏览器中输入”http://127.0.0.1:5000/home“或者”http://127.0.0.1:5000/home/“你都可以看到输出”in home!“;
当在浏览器中输入”http://127.0.0.1:5000/outside“你可以看到”outside“,但是输入”http://127.0.0.1:5000/outside/“你可能就会看到”404“;
3、构造URL
url_for()
方法可以构造一个url。该方法的第一个参数是str
类型,是一个试图函数名, 后面可添加在url中声名的命名参数,或者get请求的其他参数。
1 | from flask import url_for |
优点:
- 描述性好,修改方便;
- 转义特殊字符和Unicode数据;
- 方便处理复杂的路由关系;
二、HTTP方法
HTTP方法(”谓词”),常见的有:
- GET:获取页面信息,通过
?参数名=值&参数名=值...
传递数据; - POST:通常是html通过表单给服务器传数据的方法;
- HEAD:获取消息头;
- PUT:与POST类似,但是服务器可能触发了存储过程多次,多次覆盖掉旧值。
- DELETE:删除给定位置的信息;
- OPTIONS:给客户端提供一个敏捷的途径来弄清这个 URL 支持哪些 HTTP 方法。
可以在route('/',methods=[])
methods中指定允许的请求方法。默认为“GET”方法。
1 |
|
后记
继续整理,如有错误之处还请多多指教!(o゚v゚)ノ