Python 如何在基本模板(Django)中创建菜单?

Python 如何在基本模板(Django)中创建菜单?,python,django,templates,web,menu,Python,Django,Templates,Web,Menu,我如何在Django中创建一个菜单,它位于基本模板中,并从数据库中获取其内容? 我的基本模板: <!DOCTYPE html> <html> <head> <title>{% block title %}My page{% endblock %}</title> <link rel="stylesheet" href="{{ STATIC_URL }}css/uikit.min.css" /

我如何在Django中创建一个菜单,它位于基本模板中,并从数据库中获取其内容? 我的基本模板:

<!DOCTYPE html>
<html>
    <head>
        <title>{% block title %}My page{% endblock %}</title>
        <link rel="stylesheet" href="{{ STATIC_URL }}css/uikit.min.css" />
        <script src="{{ STATIC_URL }}js/jquery.min.js"></script>
        <script src="{{ STATIC_URL }}js/uikit.min.js"></script>
    </head>
    <body>
        {% block content %}
        {% endblock %}
    </body>
</html>

{%block title%}我的页面{%endblock%}
{%block content%}
{%endblock%}

PS:对不起我的英语,我是波兰人

你可能会被安排参加

然后,为了使其适应您的用例,您可以像这样从
menus.py
内部读取数据库项(请记住,这只是一个伪代码):


您可能会想到的其他解决方案是创建上下文处理器或自定义标记,但如果您经验不足,并且菜单结构更复杂(子菜单),则这些解决方案可能很难自己解决。

您可能会被引入

然后,为了使其适应您的用例,您可以像这样从
menus.py
内部读取数据库项(请记住,这只是一个伪代码):


您可能会想到的其他解决方案是创建上下文处理器或自定义标记,但如果您经验不足,并且菜单结构更复杂(子菜单),则这些解决方案可能很难自己解决。

您可能会被引入

然后,为了使其适应您的用例,您可以像这样从
menus.py
内部读取数据库项(请记住,这只是一个伪代码):


您可能会想到的其他解决方案是创建上下文处理器或自定义标记,但如果您经验不足,并且菜单结构更复杂(子菜单),则这些解决方案可能很难自己解决。

您可能会被引入

然后,为了使其适应您的用例,您可以像这样从
menus.py
内部读取数据库项(请记住,这只是一个伪代码):


您可能会想到的其他解决方案是创建上下文处理器或自定义标记,但如果您的经验较少,并且菜单结构更复杂(子菜单),您可能很难自己解决这些问题。

以前有一次我遇到同样的问题,我最终创建了一个Mixin,并在其中注入菜单,更具体(这是在使用基于类的视图的情况下…,您应该…:

然后在模板中,您可以简单地:

{% include "partials/menu.html" %}
在partials/menu.html中:

{% for item in menu %}
    <a href="{{ item.link }}">{{ item.name }}</a>
{% empty %}
    Do something for empty...
{% endfor %}
{%用于菜单%中的项目]
{%empty%}
为空做点什么。。。
{%endfor%}

以前有一次我问了同样的问题,我最终创建了一个Mixin,并在其中注入了菜单,更具体地说(在这种情况下,您使用的是基于类的视图…您应该…):

然后在模板中,您可以简单地:

{% include "partials/menu.html" %}
在partials/menu.html中:

{% for item in menu %}
    <a href="{{ item.link }}">{{ item.name }}</a>
{% empty %}
    Do something for empty...
{% endfor %}
{%用于菜单%中的项目]
{%empty%}
为空做点什么。。。
{%endfor%}

以前有一次我问了同样的问题,我最终创建了一个Mixin,并在其中注入了菜单,更具体地说(在这种情况下,您使用的是基于类的视图…您应该…):

然后在模板中,您可以简单地:

{% include "partials/menu.html" %}
在partials/menu.html中:

{% for item in menu %}
    <a href="{{ item.link }}">{{ item.name }}</a>
{% empty %}
    Do something for empty...
{% endfor %}
{%用于菜单%中的项目]
{%empty%}
为空做点什么。。。
{%endfor%}

以前有一次我问了同样的问题,我最终创建了一个Mixin,并在其中注入了菜单,更具体地说(在这种情况下,您使用的是基于类的视图…您应该…):

然后在模板中,您可以简单地:

{% include "partials/menu.html" %}
在partials/menu.html中:

{% for item in menu %}
    <a href="{{ item.link }}">{{ item.name }}</a>
{% empty %}
    Do something for empty...
{% endfor %}
{%用于菜单%中的项目]
{%empty%}
为空做点什么。。。
{%endfor%}

不要担心你的英语。只需提供多一点信息。你说的“制作菜单”是什么意思?这可能意味着HTML模板以及我能想到的任何其他东西(一些创建菜单的项目)等。有一些项目可以帮助创建网站菜单。或者,如果你有HTML,你可以手动创建它。不要担心你的英语。只需提供一些更多的信息。你说的“制作菜单”是什么意思?这可能意味着HTML模板以及我能想到的任何其他东西(一些创建菜单的项目)等。有一些项目可以帮助创建网站菜单。或者,如果你有HTML,你可以手动创建它。不要担心你的英语。只需提供一些更多的信息。你说的“制作菜单”是什么意思?这可能意味着HTML模板以及我能想到的任何其他东西(一些创建菜单的项目)等。有一些项目可以帮助创建网站菜单。或者,如果你有HTML,你可以手动创建它。不要担心你的英语。只需提供一些更多的信息。你说的“制作菜单”是什么意思?这可能意味着HTML模板以及我能想到的任何其他东西(一些创建菜单的项目)还有一些项目可以帮助创建网站菜单。或者,如果你有HTML,你可以手动创建它。