私はDjangoテンプレートを持っています。これをindex.htmlという3つのパート(ヘッダー、コンテンツ、フッター)に分割して呼ぶことにしましょう。ヘッダーセクションには、ドロップダウンメニューを含む検索バーがあり、そこからオプションを選択して、選択したオプションに基づいて検索することができます。私はそのヘッダーセクションをすべて私の将来のビュー/テンプレートに含めるようにして、引き続きすべてのオプションを含むドロップダウンメニューを表示します。Djangoすべてのビューに共通のビュー機能を再利用する方法
これは
{% block content %}
<div>
<h1> My Cart </h1>
</div>
{% endblock %}
これは何であるこれは私がcart.html {%が "index.htmlを" %を拡張}持っているものです私は現在、私のビューファイルに持っているもの
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()
ですcontact.htmlは
{% block content %}
<div>
<h1> Contact </h1>
</div>
{% endblock %}
T {% "はindex.htmlを" %を拡張}ました彼はhome.htmlが
{% block content %}
<div>
<h1> Home </h1>
</div>
{% endblock %}
これが今動作しますが、私はする必要がないように、これを解決するためのより良い方法があった場合、私は思っていた{%が「index.htmlを」%を拡張}を含むものですすべてのビューで同じコードを繰り返します。
私の意見では、[Django Classy Tags](https://django-classy-tags.readthedocs.io/en/latest/)はプラスです。 –