python全栈02-----url_for,HTTP的请求方法

构造url(url_for)

  • 一般我们通过一个URL就可以执行到某个函数。
  • 那么我们知道一个函数如何去获取这个URL呢
  • url_for函数可以帮我们实现这个功能
  • url_for()函数会接受两个及以上的参数,他接收函数名作为第一个参数
  • 如果还出现其他参数,则会添加到URL的后面左右查询参数。
  • 通过构建URL的方式而选择直接在代码中拼URL的原因有两点
    • 1.将来如果修改了URL,但没有修改该URL对应的函数名,就不用到处去替换URL了。
    • 2.url_for()函数会转义一些特殊字符和uncode字符串,这些事情url_for会自动的帮我们搞定

在构造的URL的末尾后加上/,有斜杠和没有斜杠是两个不同的URL

 python全栈02-----url_for,HTTP的请求方法python全栈02-----url_for,HTTP的请求方法

/article/1?asd=2&page=200

上面代码就是url_for()函数获取的URL

.url_for()函数会转一一些特殊字符和uncode字符串

python全栈02-----url_for,HTTP的请求方法python全栈02-----url_for,HTTP的请求方法

斜杠被转义为%2F

指定HTTP的请求方法

  • 在@app.route()中可以传入一个关键字参数methods来指定本方法支持的HTTP方法,默认情况下,只能是同GET请求

python全栈02-----url_for,HTTP的请求方法

页面跳转和重定向

  • 重定向分为永久性和暂时性重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。
  • 永久性重定向:http的状态码是301,多用于旧网址被废弃了要转到一个新的网址确保用户的访问,最经典的就是京东网站,
  • 你输入www.jingdong.com的时候,会被重定向到www.jd.com,因为jingdong. com这个网址已经被废弃了,被改成jd.com所以这种抢矿下应该用永久重定向
  • 暂时性重定向:http的状态码是302,表示页面暂时性跳转。
  • 比如访问一个需要权限的网址,如果当前用户没有登陆,应该重定向到登陆页面,这种情况下,应该用暂时性重定向

python全栈02-----url_for,HTTP的请求方法

如果我们访问python全栈02-----url_for,HTTP的请求方法那么会直接跳转到python全栈02-----url_for,HTTP的请求方法这就是重定向