2012-03-29 21 views
5

反思告诉我,Django字段有一个“hidden_​​widget”属性。也许它不是这个属性给出的目的,但它仅仅存在会诱使我在模板中使用它来有条件地呈现隐藏的小部件。 例如,有没有办法在模板中动态呈现django字段的隐藏版本?

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

但是这不起作用。这样可以使用隐藏的小部件吗?我错过了什么?

我知道我可以动态地设置基础上的条件,我传递给它一些自定义kwarg在初始化我的自定义窗体类的的小部件做到这一点,但上述方案(动态渲染隐藏如果可用的话,会更简单一些。

回答

8

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

{{ form.my_field.as_hidden }} 
+0

通过查看Django源代码来了解这一点。我不确定我是否看到过这种记录。如果某人发布了一个带有as_hidden函数的某种文档链接的答案,我会将其标记为已接受,因为我不想接受我自己的答案。 – 2012-03-29 04:35:50

相关问题