(我是Django的新手)
我的Django模板有问题。
cruise_details过滤器应该只返回一行,但是当我尝试使用cruise_details.port在模板中显示它时,没有显示任何内容。 “代码”正确地从URL传递。
如果我删除了.port并且只是放了cruise_details,我会在页面上看到这个
sys.argv
view.py
<QuerySet [<Cruise: B724>]>
cruise.html
def cruise(request, code):
return render(request, 'cruise.html', {
'cruise_details': Cruise.objects.filter(code=code)
})
models.py
{{ cruise_details.port}}
答案 0 :(得分:3)
问题是Cruise.objects.filter(code=code)
会返回一个列表,所以如果有很多可能的匹配项,您可以修改模板以显示所有匹配项
{% for cruise_detail in cruise_details %}
{{ cruise_details.port }}
{% endfor %}
或者,如果您知道只能有一个结果,那么您可以改为使用get
:
Cruise.objects.get(code=code)
并且您现有的模板应该有效。
希望这有帮助。