有没有办法在模板中动态呈现django字段的隐藏版本?

时间:2012-03-29 04:22:37

标签: django django-templates

Introspection告诉我,django字段有一个“hidden_​​widget”属性。也许它不是这个属性的给定目的,但它的存在诱惑我在模板中使用它来有条件地渲染隐藏的小部件。 如,

{% if some condition %} 
   {{ form.my_field }} 
{% else %} 
   {{ form.my_field.hidden_widget }} 
{% endif %}

但这不起作用。是否可以通过这种方式使用隐藏的小部件?我错过了什么?

我意识到我可以通过动态设置我的自定义Form类的 init 中的小部件来实现这一点,该小部件基于条件的一些自定义kwarg,我传递给它,但是上面的解决方案(如果可用的话,动态渲染模板中的隐藏小部件会更简单。

1 个答案:

答案 0 :(得分:8)

我很接近,但使用了错误的功能。对于那些感兴趣的人,答案是:

{{ form.my_field.as_hidden }}