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