django request 获取请求的URL

明瞳 2020-04-10

1、
get_full_path()
获取的url路径包含参数

2、path_info

获取的路径不包含参数

注意:获取的路径都不包含协议 IP 和端口

3、补充

sesssion

http://127.0.0.1:8000/admin/login/?next=/admin/
1、登录admin  /admin/

使用
path_info 获取 /admin/

django request 获取请求的URL

request.get_host()      获取请求地址

request.path                获取请求的path,不带参数

request.path_info        获取请求的path,不带参数

request.get_full_path()  获取完整参数



假设当前网址是:http://www.chenxm.cc/article/730.html?a=1

request.get_host()    # 
 
request.path          # article/730.html

request.get_full_path() article/730.html?a=1
笨方法:

from urllib import parse

parse.urljoin(‘http://‘,request.get_host(),request.path)

# http://www.chenxm.cc/article/730.html
优雅方法

request.build_absolute_uri()

# http://www.chenxm.cc/article/730.html

、没有登录用户跳转到 /admin/login/?next=/admin/ ?next=获取的url request.GET.get(next) 获取这个url 3、输入用户密码后,跳转到/admin/

相关推荐