Visit라는 모델을 정의했습니다. 여러 모델이 있습니다.
models.py에서
class Visit(models.Model):
case = models.ForeignKey(Case, on_delete = models.CASCADE)
location = models.ForeignKey(Location, on_delete = models.CASCADE)
date_from = models.DateField()
date_to = models.DateField()
category = models.CharField(max_length = 20)
그런 다음 뷰 템플릿을 만들었습니다. 특정 사례에 의한 모든 방문을 보는 것입니다. 따라서 url이 "sth / visit / 1"이면 pk1을 사용하여 케이스의 모든 방문을 표시합니다.
views.py에서
class VisitView(TemplateView):
template_name = "visit.html"
def get_context_data(self, **kwargs):
case_pk = self.kwargs['case']
context = super().get_context_data(**kwargs)
context['visit_list'] = Visit.objects.filter(case = case_pk)
print("context[visit_list]: ",context['visit_list'])
콘솔에 "sth / visit / 1"URL에 대한 컨텍스트 [ 'visit_list']를 인쇄했습니다.
context[visit_list]: <QuerySet [<Visit: Visit object (1)>, <Visit: Visit object (2)>]>
URL "sth / visit / 2"의 경우
context[visit_list]: <QuerySet [<Visit: Visit object (3)>]>
그래서 지금까지는 작동한다고 가정합니다. 하지만 html 문서에서
<ul>
{% for visit in visit_list %}
<li>[{{visit.date_from }}] {{ visit.date_to }} </li>
{% empty %}
<li>No visit yet.</li>
{% endfor %}
</ul>
아직 방문이 표시되지 않습니다. 1과 2 모두에 대해 오류 메시지가 없습니다. 그냥 방문하지 마십시오. 무엇이 문제인지 알 수 있습니까? 대단히 감사합니다 TOT을 도와주세요. 나는 몇 시간 동안 여기에 붙어 있습니다.
예, 컨텍스트를 템플릿에 반환하지 않으므로 컨텍스트 변수에 액세스 할 수 없습니다.
class VisitView(TemplateView):
template_name = "visit.html"
def get_context_data(self, **kwargs):
case_pk = self.kwargs['case']
context = super().get_context_data(**kwargs)
context['visit_list'] = Visit.objects.filter(case = case_pk)
print("context[visit_list]: ",context['visit_list'])
return context
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다