for-loop를 HTML 템플릿과 거의 비슷하게 만들었습니다. 내가 겪고있는 문제는 다른 투어의 목록 인 성냥입니다.클래스 기반 뷰에 추가 컨텐츠 추가 및 필터링
이 문제를 해결하는 방법은 기본적으로 "이 둘러보기와 관련하여 일치 항목 만 가져옵니다"라는 필터를 추가하는 것입니다.이 필터는 Match.objects.filter에서 아래에서 시도한 것입니다.()하지만 작동하지 않는 이유를 모르겠습니다.
class CricketCalendar(generic.ListView):
template_name="monthly_view/cricket-monthly-view.html"
context_object_name='cricket_monthly_view'
queryset = CricketMonthlyView.objects.all()
def get_context_data(self, **kwargs):
context = super(CricketCalendar, self).get_context_data(**kwargs)
context['Tour'] = Tour.objects.all()
context['Match'] = Match.objects.filter(tour=self.request.Tour)
return context
가 나는 또한 시도 다음과도 일 :
self.kwargs['pk']
self.kwargs['Tour']
편집, 다음 추가하는 것을 잊었다 :
월별보기 models.py :
class CricketMonthlyView(models.Model):
tour = models.ForeignKey('cricket.Tour', on_delete=models.CASCADE,
related_name='tour_name')
match_id = models.ForeignKey('cricket.Match', on_delete=models.CASCADE)
및 URLs.py :
url(r'^monthly-view/$', monthly_view.CricketCalendar.as_view(), name='cricket-monthly'),
크리켓 models.py :
class Tour(models.Model):
name = models.CharField(max_length=200)
tier_level = models.ForeignKey('sports.Tier')
country = CountryField()
class Match(models.Model):
tour = models.ForeignKey('Tour', on_delete=models.CASCADE)
그리고 HTML 템플릿 :
{% for match_info in cricket_monthly_view %}
{% for tour in Tour %}
<ul>
<li>{{tour.name}}</li>
</ul>
{% for match in Match %}
<ul>
<li>{{match.home_team}}</li>
<li>{{match.away_team}}</li>
</ul>
{% endfor %}
{% endfor %}
{%의 ENDFOR의 %는}
여기에 충분한 정보가 없습니다. 'CricketMonthlyView','Tour'와'Match'는 어떻게 서로 관련이 있습니까? 보기의 URL 패턴은 무엇입니까? for-loop가 작동하지 않는 이유는 무엇입니까? – Alasdair
실례합니다. 원래 게시물을 업데이트했습니다. –