知识点: 1、路由 2、重定向 3、请求方式 4、PostMan使用
一、概况
说到路由,其实就是我们在浏览器输入地址后,后台进行匹配,如果匹配上,则执行此视图函数并返回内容。我们经过前面的例子也看出来Flask
是用一个叫route()
的装饰器进行装饰到视图函数上。 匹配的内容是去掉域名和端口后面地址,比如:http://127.0.0.1:8000/index
这个地址,去掉域名和端口后就剩下/index
这部分内容,所有我们只要装饰/index
就可以了。
二、路由
我们来写一个首页视图和个人中心视图,并用路由装饰上。 提示:如果你没有设置DEBUG = True,请重新运行服务器 如下:
from flask import Flaskapp = 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 Flaskfrom flask import abort, redirect, url_forapp = 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
请求。 还是可以看出来,它返回的是重定向到首页的内容。 欢迎关注我的公众号: