我创建了一个模型
class Post(models.Model):
title = models.TextField()
body = models.TextField()
并将 forms.py 创建为
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title', 'body',)
我添加了tinymce,它可以在admin中运行,但不会在模板中呈现它。我尝试通过forms.py的变体覆盖表单
class PostForm(forms.ModelForm):
title = forms.TextField(widget=TinyMCE(attrs={'cols': 100, 'rows': 10})
class Meta:
model = Post
fields = ('title', 'body',)
但它不起作用。提前致谢
答案 0 :(得分:2)
1。)将Media类添加到表单中:
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title', 'body',)
class Media:
js = ('/site_media/static/tiny_mce/tinymce.min.js',)
2。)将以下内容添加到应显示编辑器的html文件中:
{{ form.media }}
<script type="text/javascript" src="{% url "tinymce-js" "tinymce" %}"></script>
3。)将以下url条目添加到项目urls.py:
url(r'^tinymce/', include('tinymce.urls')),
4.。)在你的模型中,将你的tinymce编辑器字段声明为TextFields。在您的情况下,如果您只想显示身体字段的编辑器,请按以下方式编写模型:
class Post(models.Model):
title = models.CharField()
body = models.TextField()