テンプレートの問題があります。 URLビューでは、「スタイル」と呼ばれる1つのvarを渡し、一連のモデル情報を含む辞書を渡します。右あまりにも取得するには、それ:djangoテンプレート==解決できない場合
{{ style }}
{% for recipe in recipes %}
{{ recipe.recipe_style }}
{% if recipe.recipe_style == style %}
{{ recipe.recipe_style }}
{% endif %}
{% endfor %}
だから、返す必要があり、このブロックが何であるか:
夕食夕食夕食夕食夕食
レシピモデルで唯一の2つのエントリは、「ディナー」で、両方があるので、 recipe_style(charfields)として設定され、スタイルはビューに渡され、urlconf( "r '^(?P [-A-Za-z0-9 _] +)/"はhttp' urlから 'Dinner' ://.../ディナー/')。それは何を返すことは次のとおりです。
夕食夕食夕食if文が戻って偽来るのでこれは
。しかし、なぜ? "夕食" == "夕食"!私の唯一の推測は形式の問題ですか?ビューで渡す前にstyle = str(style)を試しましたが、まだ動作しませんでした。
EDITは:
>>> 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