Python 将类添加到django管理字段的快速方法?

Python 将类添加到django管理字段的快速方法?,python,django,Python,Django,在Django Admin中,有没有一种更快的方法将类名附加到输入字段中?e、 g.我有一个名为“markdown”的文本字段,我想在其中添加类markdown,这样我就可以轻松地在admin中应用markdown编辑器 这段代码的结果是完美的。在我所有的管理表单中应用这一点只是一个小小的提示 我不能使用formfield\u override,因为不是所有的文本区域都被标记 class MyModelAdminForm(forms.ModelForm): class Meta:

在Django Admin中,有没有一种更快的方法将类名附加到输入字段中?e、 g.我有一个名为“markdown”的文本字段,我想在其中添加类
markdown
,这样我就可以轻松地在admin中应用markdown编辑器

这段代码的结果是完美的。在我所有的管理表单中应用这一点只是一个小小的提示

我不能使用
formfield\u override
,因为不是所有的文本区域都被标记

class MyModelAdminForm(forms.ModelForm):
    class Meta:
        model = models.MyModel
        widgets = {
            'markdown': forms.Textarea(attrs={'class': 'markdown'})
        }


class MyModelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm

为什么不创建一个字符串来保存每个输入的类名呢?您想给它一个类,然后将该字符串传递给
attrs
class

# forms.py

MARKDOWN = 'markdown'

class MyModelAdminForm(forms.ModelForm):
    class Meta:
        model = models.MyModel
        widgets = {
            'markdown': forms.Textarea(attrs={'class': MARKDOWN})
        }
现在您可以将
MARKDOWN
重用到其他
modelForm
s。当然,这并不能解决重复问题,但至少不太容易出错

另一种解决方案是使用javascript(首先通过
MyModelAdmin
类内部包含它),然后在它内部执行类似的操作:

// myModelAdmin.js

const $ = django.jQuery;

$(function() {
    $('your-selectors').addClass('markdown');
});