2017-04-13 1 views
0

(장고 처음 사용)Django 템플릿 변수가 작동하지 않습니다.

내 장고 템플릿에 문제가 있습니다.

cruise_details 필터는 한 행만 반환해야하지만 예를 들어 cruise_details.port와 함께 템플릿에 표시하려고하면 아무 것도 표시되지 않습니다. "code"가 URL에서 올바르게 전달됩니다.

나는 .port를 제거하고 단지 cruise.html

{{ cruise_details.port}} 

모델

view.py

def cruise(request, code): 

return render(request, 'cruise.html', { 
     'cruise_details': Cruise.objects.filter(code=code) 
}) 

<QuerySet [<Cruise: B724>]> 
페이지에 나는이되게하고 cruise_details을 넣어합니다. 파이

class Cruise(models.Model): 
code = models.CharField(max_length=10) 
destination = models.CharField(max_length=60) 
url = models.URLField 
ship = models.ForeignKey(Ship) 
duration = models.IntegerField 
start = models.DateField 
end = models.DateField 
added = models.DateTimeField(auto_now_add=True) 
modified = models.DateTimeField(auto_now=True) 
port = models.CharField(max_length=30) 

답변

2

문제는 많은 가능한 일치가있는 경우 당신은 또한 그들에게 모든

{% for cruise_detail in cruise_details %} 
    {{ cruise_details.port }} 
{% endfor %} 

를 표시하도록 템플릿을 수정할 수 있도록 당신은 단지 당신이 할 수있는 다음 하나 개의 결과가있을 수 있습니다 알고있는 경우 Cruise.objects.filter(code=code)가, 목록을 반환한다는 것입니다

Cruise.objects.get(code=code) 

을하고 기존 템플릿 작동합니다 : 대신 get을 사용합니다.

희망이 도움이됩니다.

+0

.get 사용했습니다! 고마워. – user2844523

관련 문제