2016-08-13 10 views
0

私の "シーズン"ビュー/テンプレートに私のdjangoサイトの2つのモデルを組み込もうとしています。現在、私はValueErrorとして以下を取得しています。 "view webapp.views.seasonはHttpResponseオブジェクトを返しませんでした。代わりにNoneを返しました。"私が間違っていることを確信していないが、誰かが一見することを望むことを望む。複数のモデルを単一のビュー/テンプレートのDjango

views.py

from django.shortcuts import render, get_object_or_404, redirect 
from django.views.generic import ListView 
from .models import Player, Season 

def home(request): 
    seasons = Season.objects.order_by('sid') 
    return render(request, 'webapp/home.html', {'seasons': seasons}) 

def player(request, pk): 
    player = get_object_or_404(Player, pk=pk) 
    return render(request, 'webapp/player.html', {'player': player}) 

def season(ListView, pk): 
    model = Season 
    template_name = 'webapp/season.html' 

    def get_context_data(self, **kwargs): 
     context = super(season, self).get_context_data(**kwargs) 
     context['players'] = Player.objects.all() 
     return context 

def seasons(request): 
    seasons = Season.objects.order_by('sid') 
    return render(request, 'webapp/seasons.html', {'seasons': seasons}) 

urls.py

from django.conf.urls import url 
from . import views 

urlpatterns = [ 
    url(r'^$', views.home, name='home'), 
    url(r'^player/(?P<pk>\d+)/$', views.player, name='player'), 
    url(r'^season/(?P<pk>\d+)/$', views.season, name='season'), 
    url(r'^seasons/$', views.seasons, name='seasons'), 
] 

私が最初に言った例外TypeError持っていたことに留意すべきである前に ")(シーズンを予想外のキーワード引数 'PK' を得ました"私はシーズンの引数にpkを追加しました。どんな助けでも大歓迎です!ありがとう!

答えて

1

ビュー:home,およびseasonsFunction Based Viewsです。これは古いDjangoビュースタイルです。一方、ListViewClass Based Viewで、Djangoでより新しい方法で書いています。両方の種類のビューを混在させていると、それは悪い考えです。あなたのseasonビューが行うが、何かしようとすべきか全く分から:あなたは(views.season.as_view、のようなクラスベースのビューを呼び出す必要があり、URLに

def season(request, pk): 
    season = get_object_or_404(Season, pk=pk) 
    return render(
     request, 
     'webapp/season.html', 
     {'season': season, 'players': Player.objects.all()} 
    ) 
+0

これは上でそれを取得しませんページが表示されますが、シーズンごとに表示されます。プレイヤーが参加している季節に限定するにはどうすればよいですか?現在、PlayerとSeasonモデルの外部キーを持つ3番目のモデルがあります。私はこれを橋渡しする必要があると思うが、それをコード化する方法は不明だ。 – SepticReVo

0

)を

関連する問題