不能在django模板中使用CKEDITOR

时间:2017-07-06 06:12:26

标签: python django ckeditor django-ckeditor

我正在使用没有模型类的表单。

class ClubWallForm(forms.Form):

    title = forms.CharField(label='Post title', max_length=100)
    description = RichTextField()
    imgURL = forms.CharField(label='Post image url', max_length=100)
    filefield = forms.FileField( label='Select a file',validators=[validate_file_extension] )

在我的模板中,我使用了

`        {% for field in form %}
            <div class="fieldWrapper">
                {{ field.errors }}
                {{ field.label_tag }}: {{ field }}
            </div>
        {% endfor %}`

CKEDITOR未在我的模板中显示。 这就是我得到的。

在我的观看中,它尝试使用ipdb,发现表单只包含字段title imgurlfilefield

enter image description here

3 个答案:

答案 0 :(得分:2)

您有两个问题:

  1. RichTextField模型字段。 RichTextFormField是相应的表单字段。
  2. 您未在模板中处理表单媒体。这是概述in the documentation

答案 1 :(得分:1)

最后我得到了朋友的回答。 它取代了

description = RichTextField()

description = forms.CharField(label='Description',
                   widget=forms.Textarea(attrs={'class': 'ckeditor'}))

forms.py内 它正在运作enter image description here

答案 2 :(得分:0)

您还可以使用小部件调整
首先安装它

pip install django-widget-tweaks

然后使用

将其加载到您的模板文件中
{% load wiget_tweaks %}

也在您的网站标题中使用 this

<script src="https://cdn.ckeditor.com/4.16.1/standard/ckeditor.js"></script>

现在您可以将您的类设置为您的表单,而无需在 forms.py 中更改它 所以模板文件应该是这样的

{{ form.description|add_class:"ckeditor" }}