2017-05-17 9 views
1

私は自分でDjangoを学ぶ学生です。 私はプロジェクトを簡単に説明します。1つのテンプレートに2つ以上のモデルを含めるにはどうすればいいですか?

  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

+0

シーズンは複数のオブジェクトを返しますので、テンプレートでループする必要があります。プロファイルは1つのオブジェクトを返すため、ループする必要はありません。私はそれがあなたの間違いを犯した場所だと思います。 –

答えて

0

をDjangoのバージョン1.10.5を使用していますもちろん、これらは任意の変数名にすることができます。私はカスタムを維持してシーズンを複数形にしています

+0

ありがとうございます。 –

+0

私はあなたの助けによってプロジェクトを完了しました。ありがとう:) –

+0

助けになってうれしいです。 – e4c5

関連する問題