Python 2.7 使用Djangos模板语言根据加载的视图/url设置按钮变量?python
在我的Python 2.7 使用Djangos模板语言根据加载的视图/url设置按钮变量?python,python-2.7,django-templates,Python 2.7,Django Templates,在我的base.html模板中,我有一个指向网站的链接,我希望该链接显示在扩展它的每个页面的顶部: base.html <a href='websiteOne' class="btn btn-default btn-sm">Results</a> 我的印象是,模板语言可以通过if语句解决我的问题: if currentTemplate/urlRoute != results.html: button = <a href='websiteOne' class
base.html
模板中,我有一个指向网站的链接,我希望该链接显示在扩展它的每个页面的顶部:
base.html
<a href='websiteOne' class="btn btn-default btn-sm">Results</a>
我的印象是,模板语言可以通过if
语句解决我的问题:
if currentTemplate/urlRoute != results.html:
button = <a href='websiteOne' class="btn btn-default btn-sm">Results</a>
else:
button = <a href='websiteTwo' class="btn btn-default btn-sm">Home</a>
如果当前模板/urlRoute!=results.html:
按钮=
其他:
按钮=
如果可能的话,请帮助我指出正确的实施方向:)
谢谢:)您可以使用
request.path
在模板中获取当前URL。如果按照建议使用Django的RequestContext,则request
变量会自动传递到每个模板上下文中(您可能会这样做,因为这是默认方式)
然后您可以在request.path%}中执行{%if“reports”…{%endif%}
也就是说,一种更简洁的方法是将base.html中的链接放在{%block%}
模板标记中,如下所示:
{% block top_link %}<a href='websiteOne' class="btn btn-default btn-sm">Results</a>{% endblock %}
{%block top_link%}{%endblock%}
然后这个URL在所有页面中都是相同的,您可以通过为块指定另一个内容来覆盖报告页面中的URL
{% block top_link %}<a href='websiteOne' class="btn btn-default btn-sm">Results</a>{% endblock %}