更改 django 管理标签位置

Change django admin label position

我需要更改默认管理表单的呈现方式。

它显示了如下图左侧的标签。

但我希望它显示在输入字段的顶部,知道吗?

这是我的admin.py

class ApplicationAdmin(admin.ModelAdmin):
    form = ApplicationAdminForm
    list_display = ['last_name', 'income']

    fieldsets=(        
        ("",{"fields": 
        ( 
            ('last_name',), ('income',),
),
            }
            ), 
        )

如果我们检查管理页面,我们可以看到是 属性 float:left 导致标签向左移动。

我们实际上可以为您的管理中的每个字段集定义自定义 classes,并且您可以为每个管理页面包含自定义 css 文件。以下将 class stack_labels 添加到您的字段集中,并将名为 custom_admin_css.css 的文件(存储在您的静态目录中)添加到管理页面的头部。

class ApplicationAdmin(admin.ModelAdmin):
    class Media:
        css = {
        'all': ('static/your_app/custom_admin_css.css',),
    }

    form = ApplicationAdminForm
    list_display = ['last_name', 'income']

    fieldsets=(        
        ("",{
            "fields": ( 
                ('last_name',), ('income',),
            ),
            "classes": ("stack_labels",)
        }
        ), 
    )

所以现在,我们需要做的就是写一些 CSS:

.stack_labels label {
    float:initial;
}

这会为您解决问题:)