python-在if语句中,{%扩展了“ base.html”%}和{%块内容%}(Django应用)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-在if语句中,{%扩展了“ base.html”%}和{%块内容%}(Django应用),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2122字,纯文字阅读大概需要4分钟。
内容图文
![python-在if语句中,{%扩展了“ base.html”%}和{%块内容%}(Django应用)](/upload/InfoBanner/zyjiaocheng/682/8f221bd75cd24f3e99f5263a9cd21594.jpg)
在Django模板中,我想向经过身份验证和未经身份验证的用户显示不同的内容.
具体来说,如下所示:
{% if not user.is_authenticated %}
<div class="margin">
{{ group.topic }}
</div>
{% else %}
{% extends "base.html" %}
{% load humanize %}
{% block content %}
<div class="margin">
{{ group.topic }}
<br>
<b>members:</b>
{% for member in members %}
<a href="{% url 'profile' slug=member.username %}">{{ member.username }}</a>,
{% endfor %}
<hr size=1>
<form action="{% url 'private_group_reply' slug=unique %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="hidden" id="id_link" name="unique" class="hidden_id" value="{{ unique }}">
<br>{{ form.image }}<br>
<br>{{ form.text }}<br>
<input class="button" type="submit" value="OK" id="id_submit">
</form>
{% for reply in replies %}
{{ reply.writer }}: {{ reply.text }},{{ reply.submitted_on|naturaltime }}<br>
{% endfor %}
{% endblock %}
{% endif %}
换句话说,我只想将base.html扩展给经过身份验证的用户,对于未经身份验证的用户,我想拥有一个普通模板.
我不断收到TemplateSyntaxError:无效的块标记{%endif%}
我该怎么做?
有问题的应用程序是使用Django 1.5的旧版Django应用程序.
解决方法:
{%extended var%}必须始终是模板中的第一个标记.
您可以使用一个空模板并对其进行扩展.
尝试反转逻辑并将模块拉到顶层:
empty.html
{% block content %}
{% endblock %}
您的file.html
{% extends user.is_authenticated|yesno:"base.html,empty.html" %}
{% load humanize %}
{% block content %}
{% if not user.is_authenticated %}
<div class="margin">
{{ group.topic }}
</div>
{% else %}
<div class="margin">
{{ group.topic }}
<br>
<b>members:</b>
{% for member in members %}
<a href="{% url 'profile' slug=member.username %}">{{ member.username }}</a>,
{% endfor %}
<hr size=1>
<form action="{% url 'private_group_reply' slug=unique %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="hidden" id="id_link" name="unique" class="hidden_id" value="{{ unique }}">
<br>{{ form.image }}<br>
<br>{{ form.text }}<br>
<input class="button" type="submit" value="OK" id="id_submit">
</form>
{% for reply in replies %}
{{ reply.writer }}: {{ reply.text }},{{ reply.submitted_on|naturaltime }}<br>
{% endfor %}
{% endif %}
{% endblock %}
内容总结
以上是互联网集市为您收集整理的python-在if语句中,{%扩展了“ base.html”%}和{%块内容%}(Django应用)全部内容,希望文章能够帮你解决python-在if语句中,{%扩展了“ base.html”%}和{%块内容%}(Django应用)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。