【发布时间】:2017-02-11 08:05:26
【问题描述】:
我有一个 Django 模板,我们称之为 index.html,它分为 3 部分(页眉、内容和页脚)。在标题部分,我有一个搜索栏,其中包含一个下拉菜单,允许用户从中选择一个选项并根据所选选项搜索内容。我希望该标题部分包含在我未来的所有视图/模板中,并且仍然显示包含所有选项的下拉菜单。
这是我目前在我的视图文件中的内容
def index(request):
return render(
request,
'home.html',
{'categories': get_all_categories()}
)
def cart(request):
return render(request, 'cart.html', {'categories': get_all_categories()})
def help(request):
return render(request, 'help.html', {'categories': get_all_categories()})
def about(request):
return render(request, 'about.html', {'categories': get_all_categories()})
def contact(request):
return render(request, 'contact.html', {'categories': get_all_categories()})
def search(request):
return render(request, 'search.html', {'categories': get_all_categories()})
def get_all_categories():
return Category.objects.all()
这就是我所拥有的 cart.html {% 扩展“index.html”%}
{% block content %}
<div>
<h1> My Cart </h1>
</div>
{% endblock %}
这就是contact.html所拥有的 {% 扩展“index.html”%}
{% block content %}
<div>
<h1> Contact </h1>
</div>
{% endblock %}
这是 home.html 包含的内容 {% 扩展“index.html”%}
{% block content %}
<div>
<h1> Home </h1>
</div>
{% endblock %}
这现在有效,但我想知道是否有更好的方法来解决这个问题,这样我就不必在所有视图中重复相同的代码。
【问题讨论】:
标签: django django-templates django-views