在 django 管理表单中的选择性文本区域上使用 ckEditor
我想在 django 管理表单中的特定文本区域应用 ckeditor,而不是在所有文本区域。
像下面的代码片段将在 django 表单上存在的每个文本区域上应用 ckeditor:
class ProjectAdmin(admin.ModelAdmin):
formfield_overrides =
{models.TextField: {'widget': forms.Textarea(attrs={'class':'ckeditor'})}, }
class Media:
js = ('ckeditor/ckeditor.js',)
但我希望它在特定的文本区域上而不是在每个文本区域上。
I want to apply ckeditor on specific textarea in django admin form not on all the text areas.
Like snippet below will apply ckeditor on every textarea present on django form:
class ProjectAdmin(admin.ModelAdmin):
formfield_overrides =
{models.TextField: {'widget': forms.Textarea(attrs={'class':'ckeditor'})}, }
class Media:
js = ('ckeditor/ckeditor.js',)
but i want it on a specific textarea not on every textarea.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你有几个选择。
我认为最简单的是,如果您使用 Django 1.2,那么您必须为您的管理员创建自定义表单并使用“小部件”选项:
如果您使用旧版本的 Django,您仍然可以使用自定义表单,只需覆盖您在其中的字段想要 ckEditor,格式为:
替代方案:
最后,对于所有三个选项,您将 ProjectAdmin 设置为使用 ProjectForm:
You have couple of options.
I think the simplest is if you use Django 1.2, then you have to create custom form for your admin and use 'widgets' option:
If you use older version of Django you can still use custom form, just override the field, in which you want ckEditor, in the form:
Alternative:
Finally for all three options, you set your ProjectAdmin to use ProjectForm: