📅  最后修改于: 2023-12-03 15:38:15.077000             🧑  作者: Mango
在开发 Django 网站时,我们经常需要获取当前页面的 URL,以便进行某些操作,比如分享、跳转等。本文将介绍如何在 Django 模板中获取当前页面 URL。
request.path
Django 的 request
对象包含了当前请求的所有信息,包括请求的 path、参数、请求方式等。因此,我们可以使用 request.path
属性来获取当前页面的 URL。
<p>当前页面的 URL 是:{{ request.path }}</p>
request.get_full_path
如果我们还需要获取当前页面的查询参数,可以使用 request.get_full_path
方法。
<p>当前页面的 URL 是:{{ request.get_full_path }}</p>
request.build_absolute_uri
如果我们需要获取绝对路径,可以使用 request.build_absolute_uri
方法。
<p>当前页面的 URL 是:{{ request.build_absolute_uri }}</p>
request
对象时,需要保证它在模板中可用,即需要将 request
对象传递给模板。例如:def my_view(request):
return render(request, 'my_template.html', {'request': request})
request
对象,这样就可以在模板中直接使用 {{ request.path }}
等。例如:def my_context_processor(request):
return {'request': request}
将此处理器添加到 settings.py
文件的 TEMPLATES
配置中:
'OPTIONS': {
'context_processors': [
# ...
'myapp.my_context_processor',
],
},
现在,我们就可以在任何模板中获取当前页面 URL 了。
本文介绍了三种在 Django 模板中获取当前页面 URL 的方法,分别是使用 request.path
、request.get_full_path
和 request.build_absolute_uri
。在实际开发中,我们需要根据情况选择合适的方法来获取 URL。