2012-12-24 97 views
4

我试图按照选择列表中选择的选项在stackoverflow上的一些例子,但仍然无法得到它的工作。Django选择选项选择的问题

这是我的代码片断

<select name="topic_id" style="width:90%"> 
    {% for t in topics %} 
     <option value="{{t.id}}" {% if t.id == topic_id %} selected="selected" {% endif %}>{{t.title}}{{t.id}}</option> 
    {% endfor %} 
</select> 

我把topic_id在views.py PARAM [ 'topic_id']。

谢谢!

+0

究竟是什么工作错误?当你尝试获得'param ['topic_id']'或值是None时,你有KeyError异常吗? – Igor

回答

5

而不是selected="selected"只是使用selected

<option value="{{t.id}}"{% if t.id == topic_id %} selected{% endif %}>{{t.title}}{{t.id}}</option> 

可以有两点原因,如果它不工作:

  • 在主题不存在这样的话题,其id等于topic_id
  • t.idtopic_id可以是不同类型的。转换topic_idint
+0

对不起,它不起作用。我试过选中,selected =“selected,selected =”true“ – jdtoh

+0

ok然后可能是t.id和topic_id是不同的类型,请在你的视图中测试。 '和'print type(topic_id)' –

+0

非常感谢!我发现t.id是int,topic_id是str。我将topic_id转换为int并且它工作正常。 – jdtoh