我在Django网站上有一个下载页面,我想同时为已登录和未登录的用户提供服务。我希望有一个单独的download.html有条件地扩展正确的基础,而不是使用user_download.html和login_download.html。
但是,使用以下代码时出现错误。
{% if user.is_authenticated %}
{% extends 'user_base.html' %}
{% else %}
{% extends 'login_base.html' %}
{% endif %}
{% block content %}
<h2>Downloadable content</h2>
...
{% endblock %}
我收到的错误是/ download /处的TemplateSyntaxError
无效的代码块标记:“ else”
其他怎么了?我试过了
{% if user.is_authenticated %}
{% extends 'user_base.html' %}
{% else %}{% if AnonymousUser.is_authenticated %}
{% extends 'login_base.html' %}
{% endif %}{% endif %}
{% block content %}
<h2>Downloadable content</h2>
...
{% endblock %}
但这也不起作用。
谢谢,erip
该{% extends %}
标签支持的变量。请参阅文档以供参考。
def my_view(request):
if request.user.is_authenicated
base_template_name = 'user_base.html'
else:
base_template_name = 'login_base.html'
# Pass base template name to the renderer
return render_to_response('your_template.html', {'base_template_name':base_template_name})
模板(请注意,该值未加引号):
{% extends base_template_name %}
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句