Django 如何将数据加载到初始 base.html 模板
Django How to Load data to the initial base.html template
我的初始模板 base.html 必须加载开始时动态加载项目的菜单。可能吗?一些提示?
您可以使用Django 提供的模板继承。但在您的情况下,假设您有两个不同的模板,名称分别为 navbar.html
和 base.html
,并且您想将 navbar.html
添加到 base.html
的开头。使用 Django 标签(即 {% include 'navbar.html' %}
),您可以将 navbar.html
内容包含在 base.html
中。就像下面的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Try Django</title>
</head>
<body>
{% include 'navbar.html' %}
</body>
</html>
在其他情况下,如果您想向 base.html
添加内容(例如 product_list.html
),您可以在目标模板中使用 Django 标记(即 {% extends 'base.html' %}
),但不要忘记在 base.html
中使用 {% block content %}
和 {% endblock content %}
(例如在 base.html
的正文标签中,然后在您的 {% block content %}
和 {% endblock content %}
中使用目标模板。最后只需在你的块内容之间添加你的代码。有关更多信息,请查看以下代码:
base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Try Django</title>
</head>
<body>
{% include 'navbar.html' %}
{% block content %}{% endblock content %}
</body>
</html>
product_list.html
{% extends 'base.html' %}
{% block content %}
{% for obj in object_list %}
{{ obj.id }} - <a href="{{ obj.get_absolute_url }}">{{ obj.name }}</a><br>
{% endfor %}
{% endblock content %}
如果您需要其他东西,请前往 Django template docs。
我的初始模板 base.html 必须加载开始时动态加载项目的菜单。可能吗?一些提示?
您可以使用Django 提供的模板继承。但在您的情况下,假设您有两个不同的模板,名称分别为 navbar.html
和 base.html
,并且您想将 navbar.html
添加到 base.html
的开头。使用 Django 标签(即 {% include 'navbar.html' %}
),您可以将 navbar.html
内容包含在 base.html
中。就像下面的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Try Django</title>
</head>
<body>
{% include 'navbar.html' %}
</body>
</html>
在其他情况下,如果您想向 base.html
添加内容(例如 product_list.html
),您可以在目标模板中使用 Django 标记(即 {% extends 'base.html' %}
),但不要忘记在 base.html
中使用 {% block content %}
和 {% endblock content %}
(例如在 base.html
的正文标签中,然后在您的 {% block content %}
和 {% endblock content %}
中使用目标模板。最后只需在你的块内容之间添加你的代码。有关更多信息,请查看以下代码:
base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Try Django</title>
</head>
<body>
{% include 'navbar.html' %}
{% block content %}{% endblock content %}
</body>
</html>
product_list.html
{% extends 'base.html' %}
{% block content %}
{% for obj in object_list %}
{{ obj.id }} - <a href="{{ obj.get_absolute_url }}">{{ obj.name }}</a><br>
{% endfor %}
{% endblock content %}
如果您需要其他东西,请前往 Django template docs。