【发布时间】:2019-03-06 09:07:18
【问题描述】:
我想将模型中的 TextField 更改为 TinyMCE RichTextEditor。我已经下载了tinymce 4.8.3开发包并定制了它。然后我将 tinymce 文件粘贴到 staticfiles 目录。据我了解,为了让一切正常工作,我必须为视图页面上的 元素分配一个 HTML 类。 它是如何在本地 html 文件上工作的。我已经尝试了几乎所有通过 pip 安装的应用程序(django-tinymce、django-tinymce4-lite 等)。我仍然想为自己调整这个富文本编辑器。富文本编辑器必须出现在管理页面上。
这是我的models.py:
class Post(models.Model):
title = models.CharField(max_length=150)
content = models.TextField()
created = models.DateTimeField(auto_now_add=True)
tags = TaggableManager(blank=True)
class Media:
js = ('js/init-tinymce.js', 'js/tinymce/tinymce.js',)
admin.py:
class PostModelAdmin(admin.ModelAdmin):
list_display = ["title", "created"]
list_display_links = ["title"]
list_filter = ["created", "tags"]
search_fields = ["title", "content",]
class Meta:
model = Post
admin.site.register(Post, PostModelAdmin)
如果我的理解有所不同,请向我解释。我使用 Django 2.0.8 和 python 3.6。在网上,我找到了如何设置一个像这种形式的类,但我无法将它添加到我的项目中。
class MyTextForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyTextForm, self).__init__(*args, **kwargs)
self.fields['content'].widget.attrs['class'] = 'tinymce'
class Meta:
model = Post
fields = ('content') # your fields here
【问题讨论】:
标签: django python-3.x