所以我有一個簡單的模板問題。在URL視圖中,我傳遞了一個名爲'style'的var,並且我傳遞了一大堆模型信息的字典。爲了得到正確的過它:django模板如果==不能正確解析
{{ style }}
{% for recipe in recipes %}
{{ recipe.recipe_style }}
{% if recipe.recipe_style == style %}
{{ recipe.recipe_style }}
{% endif %}
{% endfor %}
那麼該塊應該返回是:
晚餐晚餐晚餐晚餐晚餐
因爲在配方模型只有兩個條目,都與「晚餐」設置爲recipe_style(charfields),並且風格通過視圖和urlconf(「r'^(?P [-A-Za-z0-9 _] +)/」,它從url的http抓取'Dinner' ://.../晚餐/')。返回內容:
晚餐晚餐晚餐
這是因爲if語句回來假。但爲什麼? 「晚餐」==「晚餐」!我唯一的猜測是格式問題?在將視圖傳遞給視圖之前,我嘗試了style = str(style),但仍然無法正常工作。
編輯:這裏是顯示了殼:
>>> RecipeStyle.objects.all()
[<RecipeStyle: Dinner>, <RecipeStyle: Lunch>, <RecipeStyle: American>, <RecipeStyle: Italian>, <RecipeStyle: French>]
>>> recipe = Recipe.objects.get(pk=1)
>>> recipe.recipe_style
<RecipeStyle: Dinner>
,它工作在控制檯:
>>> if recipe.recipe_style == RecipeStyle.objects.get(pk=1):
... print "poop"
...
poop
那麼,爲什麼不能在模板?
對不起。有一段時間沒有開過。我想對這個社區很好。真的很抱歉。 – jonc