我创建了一个模型
class Post(models.Model):
title = models.TextField()
body = models.TextField()
并创建forms.py为
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title', 'body',)
我添加了tinymce,它可以在管理中工作,但不会在模板中呈现。我尝试通过 forms.py 的变体覆盖表单
class PostForm(forms.ModelForm):
title = forms.TextField(widget=TinyMCE(attrs={'cols': 100, 'rows': 10})
class Meta:
model = Post
fields = ('title', 'body',)
但它不起作用。提前致谢
最佳答案
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()
关于django - Django 模板中的tinymce 小部件用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19013509/