在django中获取完整url是否有比执行以下操作更好的方法:
url = request.META['HTTP_HOST']
+ request.META['PATH_INFO']
+ request.META['QUERY_STRING']
有request.META['URL']
左右的吗?
在django中获取完整url是否有比执行以下操作更好的方法:
url = request.META['HTTP_HOST']
+ request.META['PATH_INFO']
+ request.META['QUERY_STRING']
有request.META['URL']
左右的吗?
您可以使用request.build_absolute_uri
方式获取完整URL:
FULL_URL_WITH_QUERY_STRING: request.build_absolute_uri()
FULL_URL: request.build_absolute_uri('?')
ABSOLUTE_ROOT: request.build_absolute_uri('/')[:-1].strip("/")
ABSOLUTE_ROOT_URL: request.build_absolute_uri('/').strip("/")
如果这对你有帮助的话.
在Django中使用绝对URL的最好方法是,你可以创建一个上下文,然后找到你的ABSOLUTE_URL
并返回它,这样你就可以在Django中的任何地方使用它.
如下例所示:
def absolute(request):
urls = {
'ABSOLUTE_ROOT': request.build_absolute_uri('/')[:-1].strip("/"),
'ABSOLUTE_ROOT_URL': request.build_absolute_uri('/').strip("/"),
}
return urls
然后你应该在你的Django模板中的任何地方使用{{ABSOLUTE_ROOT}}
.