我有一些Django表单代码,如下所示:
class GalleryAdminForm(forms.ModelForm):
auto_id=False
order = forms.CharField(widget=forms.HiddenInput())
这使得表单字段消失,但在Django管理页面中保留了"Order“标签。如果我使用:
order = forms.CharField(widget=forms.HiddenInput(), label='')
我仍然在字段和标签之间留下了":“。
我怎么才能把整件事隐藏起来?!
发布于 2012-09-26 02:17:05
Oraculum做得很对。你不应该在客户端清理这些东西。如果它是杂乱的,那么你根本就不应该把它发送给客户端。基于Oraculum的回答,您应该使用自定义表单模板,因为您可能仍然需要表单中的隐藏值。
{% for field in form.visible_fields %}
<div>
{{ field.errors }}
<span class="filter-label">{{ field.label_tag }}</span><br>
{{ field }}
</div>
{% endfor %}
{% for field in form.hidden_fields %}
<div style="display:none;">{{ field }}</div>
{% endfor %}
使用自定义表单模板来控制隐藏字段更加简洁,因为它不会向客户端发送无关的信息。
发布于 2010-11-22 22:12:59
我不敢相信有几个人建议使用jQuery来做这件事。
这是这样的情况:当你知道的唯一工具是锤子时,一切看起来都像钉子?
得了吧,如果你打算在客户端做这件事(而不是在后端代码中修复问题的根源),那么正确的地方肯定是在CSS中?
如果您是在管理网站中,那么它就有点困难,但如果它是一个常规的页面,那么很容易从表单模板中省略整个标签,for example
如果你在管理站点,那么你仍然可以在你的GalleryAdminForm类中覆盖BaseForm (参见django/forms/forms.py)的as_table,as_ul,as_p方法,以忽略标签为空的任何字段的标签(或== ':‘,因为值可能在呈现的这个阶段)
(...looking在forms.py的第160-170行,Django1.2似乎应该适当地省略':‘如果标签是空的,那么我猜你使用的是旧版本?)
发布于 2012-08-29 13:29:50
试一试
{%代表form.visible_fields中的字段%}
https://stackoverflow.com/questions/1408940
复制相似问题