首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Django Admin中隐藏HiddenInput小部件的字段标签?

如何在Django Admin中隐藏HiddenInput小部件的字段标签?
EN

Stack Overflow用户
提问于 2009-09-11 04:15:16
回答 9查看 21.1K关注 0票数 18

我有一些Django表单代码,如下所示:

代码语言:javascript
复制
class GalleryAdminForm(forms.ModelForm):
    auto_id=False
    order = forms.CharField(widget=forms.HiddenInput())

这使得表单字段消失,但在Django管理页面中保留了"Order“标签。如果我使用:

代码语言:javascript
复制
order = forms.CharField(widget=forms.HiddenInput(), label='')

我仍然在字段和标签之间留下了":“。

我怎么才能把整件事隐藏起来?!

EN

回答 9

Stack Overflow用户

发布于 2012-09-26 02:17:05

Oraculum做得很对。你不应该在客户端清理这些东西。如果它是杂乱的,那么你根本就不应该把它发送给客户端。基于Oraculum的回答,您应该使用自定义表单模板,因为您可能仍然需要表单中的隐藏值。

代码语言:javascript
复制
{% 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 %}

使用自定义表单模板来控制隐藏字段更加简洁,因为它不会向客户端发送无关的信息。

票数 42
EN

Stack Overflow用户

发布于 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似乎应该适当地省略':‘如果标签是空的,那么我猜你使用的是旧版本?)

票数 37
EN

Stack Overflow用户

发布于 2012-08-29 13:29:50

试一试

{%代表form.visible_fields中的字段%}

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1408940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档