我是Django的新手,这是我想要做的:我想拥有一个包含导航的base.html。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
</head>
<body>
{% include 'nav.html' %}
{% block content %}{% endblock %}
</body>
</html>
非常简单,但是:导航应该使它自己的内容具有灵活性,因为我想稍后添加cms。
<nav class="nav">
{% for item in sites %}
<a class="nav__item" href="{{ item.href.value }}">{{ item.label }}</a>
{% endfor %}
</nav>
我有一个index.html的呈现方法(它只是扩展了base.html并添加了用于测试目的的h1标签)
def home_view(request, *args, **kwargs):
opts = {
'sites': [
{
'href': {
'value': '/someurl'
},
'label': 'Some Label'
},
{
'href': {
'value': '/lorem'
},
'label': 'Lorem Ipsum'
},
{
'href': {
'value': '/contact'
},
'label': 'Contakt'
}
]
}
return render(request, 'index.html', opts)
但是如果我运行本地服务器,我的内容将无法传递。
答案 0 :(得分:-1)
您应该在{% include "nav.html" %}
标记内使用{% block content %}
。
否则它将不会显示。