gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:21:32 24 4
gpt4 key购买 nike

是否有更快的方法将类名附加到 Django Admin 中的输入字段?例如我有一个名为“markdown”的文本字段,我想向其中添加 markdown 类,这样我就可以轻松地在管理中应用 Markdown 编辑器。

这段代码的结果是完美的。只需一点 PITA 即可将其应用于我所有的管理表单..

我无法使用 formfield_override 因为并非所有文本区域都是 markdown。

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


class MyModelAdmin(admin.ModelAdmin):
form = MyModelAdminForm

最佳答案

为什么不创建一个字符串来保存每个输入的类名,然后将该字符串传递给 attrsclass 键?

# forms.py

MARKDOWN = 'markdown'

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

现在您可以将 MARKDOWN 重用于其他 modelForm。当然这并不能解决重复问题,但至少不容易出错。

另一个解决方案是使用 javascript(首先通过 class Media 将其包含在您的 MyModelAdmin 类中),然后在其中您应该执行类似的操作:

// myModelAdmin.js

const $ = django.jQuery;

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

关于python - 将类添加到 django 管理字段的快速方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41870942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com