无效的块标记:' phone_nos',expect' endblock'

时间:2016-10-31 18:14:40

标签: django

我已通过上下文对象在我的视图中传递了一个电话号码列表,并在HTML选择框中使用它。

如果phones_nos列表为空,我想显示一条消息但由于某种原因我无法检查phone_nos列表是否为空而不在模板中。

我们正在使用Django == 1.6

模板: -

context = {
                   'phone_nos': [user.number for user in TwilioSMSDevice.objects.filter(user_id=User.objects.get(username=request.user).id)]                           
                }                        
                return TemplateResponse(request, self.index_template or
                                    'two_factor_auth.html', context)

<div class="form-row">    
    <label for="id-phone-number" class="required">Pick your Device:</label> 
    <!-- <input type="text" id="id-phone-number">     -->
    if {% phone_nos %}      
      <select id="id-phone-number">        
          {% for element in phone_nos %}
              <option value={{ element }}>{{ element }}</option>
          {% endfor %}
      </select>
    {% else %}
      In the else
    {% endif %}

  </div>

错误: -

Invalid block tag: 'phone_nos', expected 'endblock'

1 个答案:

答案 0 :(得分:2)

关键字if属于模板标记,而不是在其前面:

{% if phone_nos %}

(旁注:django 1.6是no longer supported and considered insecure,请考虑升级)