知识点:
1, 路由
2, 重定向
3, 请求方式
4,PostMan 使用
一, 概况
说到路由, 其实就是我们在浏览器输入地址后, 后台进行匹配, 如果匹配上, 则执行此视图函数并返回内容. 我们经过前面的例子也看出来 Flask 是用一个叫 route() 的装饰器进行装饰到视图函数上.
匹配的内容是去掉域名和端口后面地址, 比如: http://127.0.0.1:8000/index 这个地址, 去掉域名和端口后就剩下 / index 这部分内容, 所有我们只要装饰 / index 就可以了.
二, 路由
我们来写一个首页视图和个人中心视图, 并用路由装饰上.
提示: 如果你没有设置 DEBUG = True, 请重新运行服务器
如下:
- from flask import Flask
- App = Flask(__name__)
- @App.route('/') # 代表首页
- def index(): # 视图函数
- return 'my index !' # 返回内容
- @App.route('/center') # 代表个人中心页
- def center(): # 视图函数
- return 'my flask!' # 返回内容
- if __name__ == '__main__':
- # 0.0.0.0 代表任何能代表这台机器的地址都可以访问
- App.run(host='0.0.0.0', port=5000) # 运行程序
我们在浏览器上输入 ```http://127.0.0.1:5000/``, 返回的内容是:
我们在浏览器上输入 http://127.0.0.1:5000/center, 返回的内容是:
三, 重定向
重定向是网站比较常用的地址跳转, 比如我们在网站登录后, 需要重新跳转到首页, 这个功能我们就可以用到重定向. 在 Flask 中重定向需要用到下面模块:
from flask import redirect, url_for
redirect 函数用于重定向.
url_for 参数是视图函数函数的名字, 它会根据视图函数的名字找到装饰次视图的路由.
- from flask import Flask
- from flask import abort, redirect, url_for
- App = Flask(__name__)
- @App.route('/') # 代表首页
- def index(): # 视图函数
- return 'my index !' # 返回内容
- @App.route('/center') # 代表个人中心页
- def center(): # 视图函数
- return 'my flask!' # 返回内容
- @App.route('/login') # 代表登录
- def login(): # 视图函数
- return redirect(url_for('index'))
- if __name__ == '__main__':
- # 0.0.0.0 代表任何能代表这台机器的地址都可以访问
- App.run(host='0.0.0.0', port=5000) # 运行程序
我们在浏览器输入 http://127.0.0.1:5000/login 会发现重定向到了首页. 在浏览器检查我们也可以看到:
四, 请求方式
我们知道 HTTP 有很多的请求方式, 每中请求方式都代表不同的意思. 常用的请求方式有:
请求方式 | 含义 |
---|---|
GET | 获取资源 |
POST | 新增资源 |
PUSH | 更新资源 |
DELETE | 删除资源 |
OPTIONS | 询问支持的方法 |
我们登录功能都会采用 POST 方式做, 我们现在的登录视图是 GET 请求, 那么我们把登录视图改成支持 POST,
@App.route('/login',methods=['POST']) # 代表登录
这个时候我在浏览器再访问一下:
这个错误的意思就是请求方式不允许, 因为在浏览器地址输入的这种请求方式是 GET 请求. 不过我们可以借用 PostMan 这样的工具模拟 POST 请求.
在这里插入图片描述
还是可以看出来, 它返回的是重定向到首页的内容.
来源: http://www.jianshu.com/p/f1d301530a2f