什么是{%include%}标记

时间:2017-05-31 12:46:26

标签: django

在django doc中提到自1.11以来不推荐使用{%include%}。由于我是django的新手,有什么选择?想象一下,如果您是否经过身份验证,您的页面标题会有所不同。我不想在header.html模板中同时拥有这两种布局......

2 个答案:

答案 0 :(得分:7)

{% include %}未被弃用

呈现包含模板时引发的任何异常现在都会被提升而不是被静音

  

自1.11版以来已弃用:   不建议使用在呈现{%include%}模板标记时引发的异常。在Django 2.1中,   将引发异常

答案 1 :(得分:1)

完成你想要的东西我会建议:

{% if user.is_authenticated %}
  <li><a href="{% url 'myprofile' %}"> My Profile</a></li>
{% else %}     
  <li><a  href="{% url 'login' %}">Login</a></li> 
  <li><a href="{% url 'register' %}">Register</a></li>
  <li><a class="fa fa-cog" href="{% url 'settings' %}" target="_blank"> Settings</a></li>
{% endif %}

因此,您的header.html / base.html将知道用户是否已登录并切换标头的属性。

希望有所帮助:)