如何在 Django Admin 中隐藏 HiddenInput 小部件的字段标签? [英] How do I hide the field label for a HiddenInput widget in Django Admin?

查看:19
本文介绍了如何在 Django Admin 中隐藏 HiddenInput 小部件的字段标签?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些看起来像这样的 Django 表单代码:

I've got a bit of Django form code that looks like this:

class GalleryAdminForm(forms.ModelForm):
    auto_id=False
    order = forms.CharField(widget=forms.HiddenInput())

这使得表单字段消失了,但它在 Django 管理页面中留下了订单"标签.如果我使用:

And that makes the form field go away, but it leaves the label "Order" in the Django admin page. If I use:

order = forms.CharField(widget=forms.HiddenInput(), label='')

我仍然在字段和标签原来的位置之间留下:".

I'm still left with the ":" between where the field and label used to be.

我如何隐藏整个事情?!

How do I hide the whole thing?!

推荐答案

如果您使用的是 JQuery,这应该可以解决问题:

If you're using JQuery this should do the trick:

您的表单

TO_HIDE_ATTRS = {'class': 'hidden'}
class GalleryAdminForm(forms.ModelForm):
    auto_id=False
    order = forms.CharField(widget=forms.TextInput(attrs=TO_HIDE_ATTRS))

要添加到模板的 JavaScript 代码

$(document).ready(function(){
    $('tr:has(.hidden)').hide();
});

如果您将表单呈现为表格,这将有效.如果您想让它与任何类型的表单渲染一起使用,您可以执行以下操作:

That works if you're rendering your form as a table. If you want to make it work with any kind of form rendering you can do as follows:

$(document).ready(function(){
    $('{{ form_field_container }}:has(.hidden)').hide();
});

并将 form_field_container 添加到您的模板上下文中.一个例子:

And add form_field_container to your template context. An example:

如果你这样渲染你的表单:

If you render your form like this:

    <form>
        <span>{{ field.label_tag }} {{ field }}</span>
    </form>

您的上下文必须包括:

'form_field_container': 'span'

你懂的……

这篇关于如何在 Django Admin 中隐藏 HiddenInput 小部件的字段标签?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆