2011-12-19 3 views
0

私は自分のテンプレートに渡すIDを持っていますリストをループして選択ブロックのオプションを生成します。私はselected = 'selected'を一致する値に追加したいと思いますが、djangoテンプレートではif節の値を比較させません。どうすればいいですか?{%if v1 == v2%}はDjangoで動作しませんテンプレートはv1がクエリーセットの値、v2がコンテキストから取得する値です

私は1.3を使用していますが、v1 == v2の場合は試しましたが、ifequal v1 v2も試しました。

 {% for h in hotel_list %} 
    <option value="{{ h.HotelId }}" {% if h.HotelId == request.hotel_id %}selected="selected"{% endif %}>{{ h.Title }}</option> 
    --{{h.HotelId}}--{{request.hotel_id}}-- 
    {% endfor %} 

これは、私は、テンプレートを呼び出す方法です:

return render_to_response('hotels/select_hotel.html', {'hotel_list': all_hotels, 'request' : request.GET}) 

これは私が得るものです:

== v2のは、Djangoのドキュメントに従って正しいはずV1を行う
<select id ='hotel_id' name = 'hotel_id'> 


    <option value="2" >Holiday Inn</option> 

    --2--7-- 

    <option value="3" >Joel&#39;s Inn</option> 

    --3--7-- 

    <option value="6" >Joel&#39;s Joint</option> 

    --6--7-- 

    <option value="1" >The Paris Hilton</option> 

    --1--7-- 

    <option value="7" >Waldorf Astoria</option> 

    --7--7-- 

</select> 
+0

にコンテキスト内に沿って通過しました。変数ではなく2つの変数を文字列リテラルと比較しています。それが許されないのだろうか? –

答えて

0

結局私は文字列をintと比較していました。それは

response.GET['hotel_id'] 

が文字列であることが判明したので、私は、私は問題のテンプレートスニペットを追加intに変換し、私のフォーム

関連する問題