use*_*736 39 python django admin
我想知道用Django Admin中的富文本编辑器替换标准textarea字段的最佳方法吗?
小智 13
看一下这个片段 - 基本思路是在管理定义中包含自定义JS,它将用富文本编辑器替换标准文本区域.
对于jQuery/FCKEditor,这样的JS看起来像这样:
$(document).ready(function() {
$("textarea").each(function(n, obj) {
fck = new FCKeditor(obj.id) ;
fck.BasePath = "/admin-media/fckeditor/" ;
fck.ReplaceTextarea() ;
});
});
Run Code Online (Sandbox Code Playgroud)
zgo*_*oda 10
我会说:定义自己的ModelAdmin类并覆盖用于特定字段的小部件,例如:
class ArticleAdminModelForm(forms.ModelForm):
description = forms.CharField(widget=widgets.AdminWYMEditor)
class Meta:
model = models.Article
Run Code Online (Sandbox Code Playgroud)
(AdminWYMEditor是一个forms.Textarea
子类,它为WYMEditor添加了特定于Django管理应用程序的配置).
请参阅Jannis Leidel的这篇博客文章,了解如何实现此小部件.
在帖子和答案的日期,TinyMCE非常受欢迎(因为它可能仍然存在).但经过一段时间ckeditor出现后,许多人认为这是一个更好的选择,包括许多SO用户:
http://www.turnkeylinux.org/blog/tinymce-vs-ckeditor
还有一篇2013年WISIWYG编辑与Django俄语的评论:
http://habrahabr.ru/company/htdt/blog/202782/