【问题标题】:Django DetailView Template default field value not workingDjango DetailView模板默认字段值不起作用
【发布时间】:2012-04-18 10:57:51
【问题描述】:

我在 django 模板中使用“|default”时遇到问题。

如果我这样做(它有效):

<tr>
    <td>{% trans 'NAMEOFTHEFIELD' %}:</td>
    <td>{{ object.nameofthefield|default:"Not informed" }}</td>
</tr>

但是我有很多领域所以我这样做:

{% for name, value in object.get_fields %}
  {% if value %}
    <tr>
        <td>{% trans name %}:</td>
        <td>{{ value|default:"Not informed" }}</td>

    </tr>
  {% endif %}
{% endfor %}

在这种情况下,默认值不起作用,它在模板中显示“无”而不是“未通知”。

你知道修复它的简单方法吗?

【问题讨论】:

    标签: django templates django-templates detailview


    【解决方案1】:

    我猜你在模型的get_fields 方法中转换为str。如果不是这样,请发布您的 get_fields 方法。

    【讨论】:

    • 我使用 value_to_string 然后我改为 get_val_from_obj: def get_fields(self): return [(field.verbose_name, field._get_val_from_obj(self)) for field in self.__class_._meta.fields] ^.^
    猜你喜欢
    • 1970-01-01
    • 2021-09-23
    • 2018-10-20
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 2012-04-19
    • 2020-10-03
    相关资源
    最近更新 更多