我想知道如何在模板中获得当前URL。
假设我当前的URL是:
.../user/profile/
如何将此返回到模板?
我想知道如何在模板中获得当前URL。
假设我当前的URL是:
.../user/profile/
如何将此返回到模板?
当前回答
如果你也在模板中使用js,你可以这样做: 在你的js
document.addEventListener('DOMContentLoaded', function() {
...
getUrl();
}
function getUrl() {
let someDiv = document.querySelector(`#someDiv`);
someDiv.innerHTML = window.location.href;
}
对于你的模板
...
<div id="someDiv"><div>
...
其他回答
3 . Django > 我不改变设置或任何东西。 我在模板文件中添加了下面的代码。
{{ request.path }} # -without GET parameters
{{ request.get_full_path }} # - with GET parameters
在view.py中将请求变量传递给模板文件。
view.py:
def view_node_taxon(request, cid):
showone = get_object_or_404(models.taxon, id = cid)
context = {'showone':showone,'request':request}
mytemplate = loader.get_template('taxon/node.html')
html = mytemplate.render(context)
return HttpResponse(html)
如果你正在使用渲染部分,最好使用
{{请求。path_info}}
它返回页面的确切url
Django 1.9及以上版本:
## template
{{ request.path }} # -without GET parameters
{{ request.get_full_path }} # - with GET parameters
Old:
## settings.py
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
)
## views.py
from django.template import *
def home(request):
return render_to_response('home.html', {}, context_instance=RequestContext(request))
## template
{{ request.path }}
在Django 3中,你需要使用url template标签:
{% url 'name-of-your-user-profile-url' possible_context_variable_parameter %}
具体示例请参见文档
下面的代码帮助我:
{{ request.build_absolute_uri }}