Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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:为不同的组显示不同的菜单_Django_Menu - Fatal编程技术网

Django:为不同的组显示不同的菜单

Django:为不同的组显示不同的菜单,django,menu,Django,Menu,我们的网站有一个主区域,每个人都可以访问,并显示一个特定的菜单。我们还有第二个组(受密码保护),在访问该部分时可以看到自己的菜单。最近,我们决定增加第三组。这一个也是密码保护的,在访问该部分时需要查看自己的菜单 以下是当前代码,根据访问站点的组更改菜单: {% menu_item as page_item %} {% ifequal page_item.menu.name "council" %} {% show_menu "council" "main-menu" %} {% else %}

我们的网站有一个主区域,每个人都可以访问,并显示一个特定的菜单。我们还有第二个组(受密码保护),在访问该部分时可以看到自己的菜单。最近,我们决定增加第三组。这一个也是密码保护的,在访问该部分时需要查看自己的菜单

以下是当前代码,根据访问站点的组更改菜单:

{% menu_item as page_item %}
{% ifequal page_item.menu.name "council" %}
{% show_menu "council" "main-menu" %}
{% else %}
{% show_menu "main" "main-menu" %}
{% endifequal %}
我尝试插入另一个ifequal,让第三个组看到自己的菜单,但这种语法显然不正确。我相信答案很简单,但我无法理解。

你可以试试

{% if page_item.menu.name == "council" %}
    {% show_menu "council" "main-menu" %}
{% elif page_item.menu.name == "the other group name" %}
    {% show_menu "the other group name" "main-menu" %}
{% else %}
    {% show_menu "main" "main-menu" %}
{% endif %}

那些
show\u菜单
标签不是内置的,你能贴出来吗?它们应该位于名为
templatetags.py
Hi的文件中。谢谢你的回复。我搜索了文件夹和子文件夹,但找不到该文件。让我补充一点:我们有一家网络开发公司,我们在一起工作,但我希望这个菜单的事情会很容易解决,这样我就可以为我们的非营利组织节省一点额外的钱。在快速搜索之后,它看起来像是django cms的一部分。user2208853还意味着您必须查看show_菜单模板标记代码或文档,以检查是否支持权限。我只是想澄清一下。我找到了一个名为templatetags的文件夹,但不是一个名为“.py”的文件。文件夹中有cache.py和i18n.py。什么错误和堆栈跟踪是什么?如果您还没有创建另一个组,这将不起作用。我也不知道任何关于django cms的事情,所以你可能需要做其他事情,比如为另一组创建菜单。另外,我希望您将“其他组名”替换为其他组的实际名称:PJust在上面的代码中没有“endifequal”就尝试了,并使用了“endif.”No dice.Ha。我应该替换“其他组名”?只是开玩笑。是的,已经创建了另一个组、页面组和几个带有虚拟内容的测试菜单项。我有一种感觉,这比我应该修补的要复杂得多,我们将不得不为几个小时的工作掏钱。我身上的完美主义者讨厌这个……那么错误是什么,或者它与我在标签上的错误有什么关系?当我刷新网站时,那就是错误:“未处理的异常。”