1

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

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.

在此处输入图像描述

4

3 回答 3

3

你有两个问题:

  1. RichTextField是一个模型字段。RichTextFormField是对应的表单域。
  2. 您没有在模板中处理表单媒体。这在文档中进行了概述。
于 2017-07-06T06:21:57.243 回答
1

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

pip install django-widget-tweaks

然后将其加载到您的模板文件中

{% load wiget_tweaks %}

也在您的网站标题中使用

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

现在您可以将您的课程设置为您的表单而无需更改它,forms.py 因此主题板文件应该是这样的

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

第二种方法是:只需在模板文件中使用此代码

{{ form.media }}
{{ form.description }}
于 2021-07-01T16:46:41.177 回答
0

最后我得到了朋友的答复。是要更换

description = RichTextField()

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

在里面forms.py ,它正在工作在此处输入图像描述

于 2017-07-06T06:25:46.223 回答