模板逻辑无法正常工作 - Django

时间:2013-06-04 15:51:14

标签: python django django-templates

模板

<form  method="post" action=".">
{% csrf_token %}
  <table  width="100%" cellpadding="0" cellspacing="0" >
   <tr>
   <td colspan="2" class="incident-type">
   {% for type in typeList%}
   {% if type.parent_type_id == None %} 
   <h1>{{type.title}}</h1>
   {% else %}
   {% if checked_ones  %}
   <label><input type="checkbox"  checked="True" value="{{ type.title }}" name="key">{{ type.title }}</label><br /> 
   {% else %}
   <label><input type="checkbox"  value="{{ type.title }}" name="key">{{ type.title }}</label><br /> 
   {% endif %}
{% endfor %}

请参阅此处,复选框输入来自views.py

中的此行
 checked_ones = [unicode(x) for x in subtype if unicode(x) in request.POST.getlist('key')] 

问题在于,如果选中并保存了任何一个选项,则会选择所有其他复选框选项(页面重定向后)。

尝试了一些逻辑循环,需要一些帮助。

1 个答案:

答案 0 :(得分:2)

试试这个,

{% for type in typeList%}
  {% if type.parent_type_id == None %} 
  <h1>{{type.title}}</h1>
  {% else %}
  {% if type.title in checked_ones %}
  <label><input type="checkbox"  checked="True" value="{{ type.title }}" name="key">{{ type.title }}</label><br /> 
  {% else %}
  <label><input type="checkbox"  value="{{ type.title }}" name="key">{{ type.title }}</label><br /> 
{% endif %}
 {% endif %}
  {% endfor %}

希望这有帮助!