django - Django 模板中的tinymce 小部件用法

标签 django django-forms django-tinymce

我创建了一个模型

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/

相关文章:

mysql - 有没有办法在 django 中使用 mysql 数据库后端创建唯一的 TextField?

python - Django 1.5 多用户身份验证或

python - 如何在 Django 表单中使用外键过滤选择值

django-forms - 在 Django Crispy Forms 中设置 CRISPY_TEMPLATE_PACK 变量

django - 在 Django CharField 表单中插入换行符

django - 对 EC2 进行基准测试

python - 在 django 页面中允许 'fuzzy' 翻译?

javascript - 如何在 highlight.js 中使用 tinymce?

javascript - tinyMCE 添加多个按钮

javascript - TinyMCE 剥离所有标记