不能在 Django 模板中使用 CKEDITOR
Can't use CKEDITOR in django template
我使用的是没有模型的表单 class。
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 imgurl
和 filefield
。
您有两个问题:
RichTextField
是一个 model 字段。 RichTextFormField
是对应的表单字段。
- 您没有在模板中处理表单媒体。这是概述in the documentation.
终于得到了朋友的答复。
它是为了取代
description = RichTextField()
和
description = forms.CharField(label='Description',
widget=forms.Textarea(attrs={'class': 'ckeditor'}))
里面forms.py
它正在工作
您还可以使用小部件调整
首先通过
安装它
pip install django-widget-tweaks
然后将其加载到您的 模板 文件中
{% load wiget_tweaks %}
也在您的站点中使用 this header
<script src="https://cdn.ckeditor.com/4.16.1/standard/ckeditor.js"></script>
现在您可以将 class 设置为您的表格,而无需在 forms.py
中进行更改
所以模板文件应该是这样的
{{ form.description|add_class:"ckeditor" }}
第二种方式是:
只需在模板文件中使用此代码
{{ form.media }}
{{ form.description }}
我使用的是没有模型的表单 class。
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 imgurl
和 filefield
。
您有两个问题:
RichTextField
是一个 model 字段。RichTextFormField
是对应的表单字段。- 您没有在模板中处理表单媒体。这是概述in the documentation.
终于得到了朋友的答复。 它是为了取代
description = RichTextField()
和
description = forms.CharField(label='Description',
widget=forms.Textarea(attrs={'class': 'ckeditor'}))
里面forms.py
它正在工作
您还可以使用小部件调整
首先通过
pip install django-widget-tweaks
然后将其加载到您的 模板 文件中
{% load wiget_tweaks %}
也在您的站点中使用 this header
<script src="https://cdn.ckeditor.com/4.16.1/standard/ckeditor.js"></script>
现在您可以将 class 设置为您的表格,而无需在 forms.py
中进行更改
所以模板文件应该是这样的
{{ form.description|add_class:"ckeditor" }}
第二种方式是: 只需在模板文件中使用此代码
{{ form.media }}
{{ form.description }}