Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django,根据用户组显示某些超链接 {%extends'base.html%} {%block content%}_Html_Django_Templates - Fatal编程技术网

Django,根据用户组显示某些超链接 {%extends'base.html%} {%block content%}

Django,根据用户组显示某些超链接 {%extends'base.html%} {%block content%},html,django,templates,Html,Django,Templates,欢迎来到主页 {%user.groups.all()%} {%endblock%} 目前,我正试图弄清楚如何让所有用户的组显示在页面上。这将导致一个错误。。。。第5行的块标记无效:“user.groups.all()”,应为“endblock”。您是否忘记注册或加载此标签 我尝试过使用if语句,但它似乎在满足一个条件时就中断了。例如,如果用户是test1和test2组的一部分,我希望它显示test1和test2,但它只显示test1 {% extends 'base.html' %} {%

欢迎来到主页

{%user.groups.all()%}

{%endblock%} 目前,我正试图弄清楚如何让所有用户的组显示在页面上。这将导致一个错误。。。。第5行的块标记无效:“user.groups.all()”,应为“endblock”。您是否忘记注册或加载此标签

我尝试过使用if语句,但它似乎在满足一个条件时就中断了。例如,如果用户是test1和test2组的一部分,我希望它显示test1和test2,但它只显示test1

{% extends 'base.html' %}

{% block content %}
  <p>Welcome to home page.</p>
  <p>{% user.groups.all() %}</p>
{% endblock %}
{%extends'base.html%}
{%block content%}
欢迎来到主页

{%if user.groups.all.0.name==“test1”%} 测试1

{%if user.groups.all.0.name==“test2”%} 测试2

{%endif%} {%endblock%}
在第一个代码中,您应该使用
{{}
。要访问组,请执行以下操作:

{% extends 'base.html' %}

{% block content %}
  <p>Welcome to home page.</p>
  {% if user.groups.all.0.name == "test1" %} 
  <p>test1</p>
  {% if user.groups.all.0.name == "test2" %}
  <p>test2</p>
  {% endif %}
{% endblock %}
以及检查特定组:

 {{ user.groups.all }}
如果要为每个组输出特定的html:

{% if desired_group in user.groups.all %}
  some html..
{% endif %}

我对第二和第三街区的工作方式有点困惑。。我想我是在反着头胡思乱想。。因此,如果用户有“这些组”,则显示这些组。但我相信第二和第三街区在做别的事情?或者它的意图是这样的..我不太明白你的目标是什么,但是如果你想直接输出组,你可以在for循环中使用{{group}}。哦,我想我现在明白了。出于某种原因,我认为user.groups.all会获取表中的所有组,但它会获取与该用户相关的所有组。谢谢,如果你想获得所有可用的组,你可以使用上下文处理器或在视图中传递组作为上下文。你知道为什么我的例子中第三个块不起作用吗?不输出任何html代码,也没有错误。。
{% for group in user.groups.all %}
   {% if group == desired_group %}
     some html..
  {% endif %}
   ..some more conditions..
{% endfor %}