私は Python/Django で最初の一歩を踏み出し、1 つの Django プロジェクトで複数の Django アプリを使用するサンプル アプリケーションを作成しました。ここで、さまざまなアプリからのデータを表示したい「ダッシュボード」という別のアプリを追加しました。現時点では、ダッシュボードに私の小さな連絡先アプリのエントリを表示する、この単純なクラスベースの汎用ビューをまだ使用しています。
ビュー.py:
from django.views.generic import ListView
from contacts.models import Contact
class ListDashboardView(ListView):
model = Contact
template_name = 'dashboard.html'
urls.py:
url(r'^$', dashboard.views.ListDashboardView.as_view(),
name='dashboard-list',),
dashboard.html では、次のことを行います。
<ul>
{% for contact in object_list %}
<li class="contact">{{ contact }}</li>
{% endfor %}
</ul>
テンプレートで複数のモデルにアクセスする方法を初心者に説明できる人はいますか? 「連絡先」アプリの連絡先だけでなく、「在庫」アプリや 3 番目のアプリなどの他のアプリのデータも表示したいと考えています。
私は知っています、私はそれをインポートする必要があります:
from inventory.models import Asset
from polls.models import Poll
しかし、ビューを使用して単一のテンプレートにこのすべてのデータを渡すにはどうすればよいでしょうか? テンプレートでそのデータにアクセスするにはどうすればよいですか?
解決策はDjango Pass Multiple Models to one Template にあるかもしれませんが、私はそれを本当に理解していないことを告白しなければなりません.