How do I hide the field label for a HiddenInput widget in Django Admin?

前端 未结 10 1092
谎友^
谎友^ 2020-12-31 02:34

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         


        
10条回答
  •  天命终不由人
    2020-12-31 03:23

    In theory, you should be able to pass label_suffix into the form constructor. However, the Django admin ignores this.

    You've been bitten by two bugs in Django: #18134 'BoundField.label_tag should include form.label_suffix' (fixed in trunk, should be in 1.6) and to a lesser extent #11277 Hidden fields in Inlines are displayed as empty rows.

    Currently, the best solution is to override the admin fieldset template. Use a HiddenInput for your widget, then override the admin fieldset template (documented here). Just create a templates/admin/includes/fieldset.html with the following contents:

    {% if fieldset.name %}

    {{ fieldset.name }}

    {% endif %} {% if fieldset.description %}
    {{ fieldset.description|safe }}
    {% endif %} {% for line in fieldset %}
    {% if line.fields|length_is:'1' %}{{ line.errors }}{% endif %} {% for field in line %} {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %} {% if field.is_checkbox %} {{ field.field }}{{ field.label_tag }} {% else %} {# only show the label for visible fields #} {% if not field.field.is_hidden %} {{ field.label_tag }} {% endif %} {% if field.is_readonly %}

    {{ field.contents }}

    {% else %} {{ field.field }} {% endif %} {% endif %} {% if field.field.help_text %}

    {{ field.field.help_text|safe }}

    {% endif %}
    {% endfor %}
    {% endfor %}

提交回复
热议问题