Introspection告诉我,django字段有一个“hidden_widget”属性。也许它不是这个属性的给定目的,但它的存在诱惑我在模板中使用它来有条件地渲染隐藏的小部件。 如,
{% if some condition %}
{{ form.my_field }}
{% else %}
{{ form.my_field.hidden_widget }}
{% endif %}
但这不起作用。是否可以通过这种方式使用隐藏的小部件?我错过了什么?
我意识到我可以通过动态设置我的自定义Form类的 init 中的小部件来实现这一点,该小部件基于条件的一些自定义kwarg,我传递给它,但是上面的解决方案(如果可用的话,动态渲染模板中的隐藏小部件会更简单。
答案 0 :(得分:8)
我很接近,但使用了错误的功能。对于那些感兴趣的人,答案是:
{{ form.my_field.as_hidden }}