【问题标题】:Django Wagtail template - if statement not workingDjango Wagtail 模板 - if 语句不起作用
【发布时间】:2020-08-09 12:37:40
【问题描述】:

您好,希望这是一个简单的解决方法。我对 Django/Wagtail 还是很陌生,如果有任何帮助,我将不胜感激。我的目标是通过使用 field.label_tag 值过滤来更好地格式化我的表单字段。

我知道 field.label_tag 的值符合预期,但在确认模板中的输出并尝试 if 语句的一些变体后仍然没有运气。

      {% for field in form.visible_fields %}
        <div class="control-group">
          <div class="form-group floating-label-form-group controls">
            <label>{{ field.label_tag }}</label>
            {% if field.label_tag|stringformat:"s" == "Email Address" %}
              <strong>field.label_tag</strong> 
            {% endif %}
            {% if field.label_tag|stringformat:"s" == "Message" %}
              {% render_field field class+="form-control" placeholder+="Message" id+="message" %}
            {% endif %}
            <p class="help-block text-danger"></p>  
          </div>
        </div>
      {% endfor %}

【问题讨论】:

  • 你可能想做if field.label|stringformat:"s" == "Email Address"
  • field.label_tag 将整个标签 html 渲染出来 &lt;label for="id_email"&gt;Email address:&lt;/label&gt;,看看这个:docs.djangoproject.com/en/3.0/topics/forms/…
  • @MohitC - 非常感谢,field.label 是这里的解决方案。
  • @minglyu - 感谢您的解释和链接。以前我试图为这个概念找到一些参考资料,但没有运气。
  • @zephyr19,你把它作为答案发布了。

标签: html django if-statement templates wagtail


【解决方案1】:

如果你想字符串匹配字段的标签,你可以这样做

if field.label|stringformat:"s" == "Email Address"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 2015-05-14
    • 2012-07-16
    • 2021-04-23
    • 1970-01-01
    相关资源
    最近更新 更多