Django Admin:在字段旁边的运行时添加文本

gue*_*tli 3 django django-admin

我想在django管理界面的字段旁边添加一个文本.

警告需要在运行时在python方法中创建.我知道python和django ORM很好,但我不知道如何在字段旁边获取文本.

该文本应该是一个警告.在clean()中引发ValidationError不是解决方案,因为用户无法再编辑页面.它应该只是一个警告信息.

Ant*_*off 6

您可以将自定义ModelForm子类用于admin,help_text在初始化时为相关字段添加属性,并对其进行适当的样式设置.

# forms.py

class YourModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(YourModelForm, self).__init__(*args, **kwargs)
        self.fields['field_in_question'].help_text = generate_warning()

# admin.py

class YourModelAdmin(admin.ModelAdmin):
    form = forms.YourModelForm

    # And here you can specify custom CSS / JS which would make
    # `help_text` for that particular field look like a warning.
    # Or you can make it generic--say, style (and maybe reposition w/js) all tags
    # like <span class="warning"> that occur within the help text of any field.

    class Media:
        css = {"all": ("admin_warning.css", )}
        js = ("admin_warning.js", )
Run Code Online (Sandbox Code Playgroud)