私は自分でDjangoを学ぶ学生です。 私はプロジェクトを簡単に説明します。1つのテンプレートに2つ以上のモデルを含めるにはどうすればいいですか?
- マイプロジェクト完全にはヘイリング距離内にある野球選手の記録
- 私のウェブサイトでの表示、それを
を取得します。しかし、私は問題があります。 これは私view.py
from django.shortcuts import get_object_or_404, render
from displayer.models import Profile, SeasonRecord
def index(request):
profile_list = Profile.objects.all().order_by('-no')[:5]
context = {'profile_list': profile_list}
return render(request, 'displayer/index.html', context)
def data(request, profile_id):
profile = get_object_or_404(Profile, pk=profile_id)
season = SeasonRecord.objects.all().order_by('-no')[:5]
context = {'profile': profile, 'season':season}
return render(request, 'displayer/data.html', context)
である私は、ビュー機能(データ)に2機種(プロフィール、SeasonRecord)を含むようにしたいと私は、このビュー機能でより多くのモデルを含めるつもりです。しかし、それはプロフィールモデルだけを含んでいます。
これはurls.pyです
from django.conf.urls import url
from django.contrib import admin
from displayer import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^displayer/$', views.index, name='index'),
url(r'^displayer/(?P<profile_id>\d+)/$', views.data, name='data'),
]
これは私が何をすべき.. Data.HTMLに
<h1>{{ profile.number }}</h1>
<h1>{{ profile.name }}</h1>
<table align="left" border="1">
<tr>
<td>position</td>
<td>debut</td>
<td>born</td>
<td>body</td>
</tr>
<tr>
<td>{{ profile.position }}</td>
<td>{{ profile.debut }}</td>
<td>{{ profile.born }}</td>
<td>{{ profile.body }}</td>
</tr>
</table>
<br/><br/><br/><br/><br/>
<table align="left" border="1">
<tr>
<td>avg</td>
<td>rbi</td>
</tr>
<tr>
<td>{{ season.avg }}</td>
<td>{{ season.rbi }}</td>
</tr>
</table>
が私を助けているのですか?
私はあなたが
<table align="left" border="1">
<tr>
<td>avg</td>
<td>rbi</td>
</tr>
{% for season in seasons %}
<tr>
<td>{{ season.avg }}</td>
<td>{{ season.rbi }}</td>
</tr>
{% endfor %}
</table>
Djangoテンプレートループを使用する必要があり、これは
context = {'profile': profile, 'season':seasons}
にする必要があり、Pythonのバージョン3.5.2
シーズンは複数のオブジェクトを返しますので、テンプレートでループする必要があります。プロファイルは1つのオブジェクトを返すため、ループする必要はありません。私はそれがあなたの間違いを犯した場所だと思います。 –