是否有更好的方法来获取django中的完整URL而不是执行以下操作:
url = request.META['HTTP_HOST']
+ request.META['PATH_INFO']
+ request.META['QUERY_STRING']
Run Code Online (Sandbox Code Playgroud)
有类似的东西request.META['URL']吗?
Yog*_*tpl 32
您可以使用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("/")
Run Code Online (Sandbox Code Playgroud)
这应该对你有所帮助.
在Django中使用ABSOLUTE URLS的最佳方法是,您可以创建一个context_processors或中间件并找到您的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
Run Code Online (Sandbox Code Playgroud)
然后你应该在你的django模板的任何地方使用{{ABSOLUTE_ROOT}}.
| 归档时间: |
|
| 查看次数: |
30249 次 |
| 最近记录: |