django request 获取请求的URL

Posted hao-guo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django request 获取请求的URL相关的知识,希望对你有一定的参考价值。

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/

  

以上是关于django request 获取请求的URL的主要内容,如果未能解决你的问题,请参考以下文章

Django_MTV视图

从 Django REST Framework 中的 APIView 中获取完整的请求 URL

django获取请求参数

Django的路由系统

Django views.py 视图函数

Django请求与响应