在我的django
应用程序的index.html
(我认为是网站的home page
)中,我提供了指向网站中各个位置的链接。当用户到达其中一个位置时,他应该在其中找到一个链接,以回到首页。因此,我创建了一个base.html
以供包括index.html
在内的所有页面继承。在base.html
中,我提供了这些链接。
base.html
...
<a href="{%url archives %}"> Archives </a>
<br/>
<a href="{% url reports %}"> Reports </a>
<br/>
<a href="{% url home %}"> Home </a>
<br/>
..
我的问题是,当我在索引页(主页)上时,我不想显示主页链接。是否可以在模板中使用
{% if %}
条件进行链接?目前,我没有在视图中传递任何参数
@login_required
def index(request, template_name):
print 'index()::template=',template_name
return custom_render(request, {},template_name )
def custom_render(request,context,template):
req_context=RequestContext(request,context)
return render_to_response(template,req_context)
最佳答案
首先,可以使用django render
shortcut避免使用冗长的custom_render
。
from django.shortcuts import render
@login_required
def index(request, template_name):
return render(request, template_name,extra={})
您可能会很厚脸皮,并在您的
base.html
中执行以下操作:{% url home as home_url %}
{% if request.path != home_url %}<a href="{{ home_url }}">Home</a>{% endif %}
快速检查当前页面是否为主页。
如果将来可能变得更加复杂,则可以使用模板标记来检查您当前使用的URL是否与另一个URL相匹配。这是我之前用来检查菜单链接当前是否处于活动状态的模板标记:
https://gist.github.com/2049936
关于python - 如果模板中的条件在django中显示链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9737396/