2012-04-04 65 views
1

我在使用django模板中的'| default'時遇到問題。Django DetailView模板默認字段值不起作用

如果我做到這一點(它的工作原理):

<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 %} 

在這種情況下,默認值是行不通的,它在模板中顯示「無」而不是「未通知」。

你知道一個簡單的方法來解決它嗎?

回答

2

我猜你是轉換爲str模型的get_fields方法。如果不是這樣,請發佈您的get_fields方法。

+0

我用value_to_string然後我改爲_get_val_from_obj: DEF get_fields(個體): 返回[(field.verbose_name,field._get_val_from_obj(個體)),用於字段自.__類__._ meta.fields] ^ 。^ – StaticX 2012-04-04 22:46:04