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

Ben*_*rts 5 django django-templates

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

{% if some condition %} 
   {{ form.my_field }} 
{% else %} 
   {{ form.my_field.hidden_widget }} 
{% endif %}
Run Code Online (Sandbox Code Playgroud)

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

我意识到我可以通过动态设置我的自定义Form类的init中的小部件来实现这一点,这是基于条件的一些自定义kwarg,我传入它,但上面的解决方案(在模板中动态呈现隐藏的小部件)将如果它可用,那就更简单了.

Ben*_*rts 8

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

{{ form.my_field.as_hidden }}
Run Code Online (Sandbox Code Playgroud)