Python 如何在模板django中显示ckeditor,并使用简洁的表单?

Python 如何在模板django中显示ckeditor,并使用简洁的表单?,python,django,ckeditor,django-crispy-forms,Python,Django,Ckeditor,Django Crispy Forms,我已经安装了django的ckeditor,它应该显示在admin中,但是如何使它显示在我的模板中呢 模板 {% extends 'blog/base.html' %} {% load crispy_forms_tags %}{%block content%} {% if user.is_superuser %} <div class="container"> <div class="row"> <div class="col-md-6 c

我已经安装了django的ckeditor,它应该显示在admin中,但是如何使它显示在我的模板中呢

模板

{% extends 'blog/base.html' %} {% load crispy_forms_tags %}{%block content%} {% if user.is_superuser %}
<div class="container">
    <div class="row">

        <div class="col-md-6 col-md-7">
            <div class="panel panel-default">
                <div class="panel-body">
                    {% if error_message %}
                    <p><strong>{{ error_message }}</strong></p>
                    {% endif %}
                    <form class="form-horizontal" id="label-edit" role="form" action="" method="post" enctype="multipart/form-data">
                        {% csrf_token %} {{ form|crispy }}
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-10">
                                <button type="submit" class="btn btn-success">Submit</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>

    {% else %}
    <h1 class="display-4 text-center">404 Not Found</h1>
    {% endif %} {% endblock %}
{%extends'blog/base.html%}{%load crispy_forms_tags%}{%block content%}{%if user.is_superuser%}
{%if错误消息%}
{{error\u message}}

{%endif%} {%csrf_token%}{{form | crispy}} 提交 {%else%} 404找不到 {%endif%}{%endblock%}

我用的是脆的。我希望编辑器显示在模板上。提前感谢。

在表单类文件中添加以下内容:

from ckeditor.widgets import CKEditorWidget
然后您可以像这样使用CKEditorWidget:

content = forms.CharField(widget=CKEditorWidget())

有关更多信息,请阅读表单类文件中….

上的指南,添加以下内容:

from ckeditor.widgets import CKEditorWidget
然后您可以像这样使用CKEditorWidget:

content = forms.CharField(widget=CKEditorWidget())

有关更多信息,请阅读….

上的指南。您需要显式添加{{form.media}},使其看起来像

{{form.media}
{{form | crispy}}

您需要显式添加{{form.media}},使其看起来像

{{form.media}
{{form | crispy}}

要使CKEditor在管理面板之外工作,您必须确保所有表单媒体都存在,以便编辑器工作,方法如下:

。。。
{{form.media}
{{form.as_p}}
//或者您可以使用crispy过滤器:{form | crispy}}
//您可以指定所需的确切字段,例如form.content
{{form.content}}
//您可以毫无问题地使用crispy:
{{form.content}as_crispy_field}
...
有时,当使用
{{form.media}}
时,它不会加载媒体并显示错误(对我来说,它会给我这个错误:
类型为PosixPath的对象不是JSON可序列化的
),因此您必须手动将其加载到
form.html
文件中(或您称之为它的任何文件,例如:
blog_form.html
)或者通过
标记查看
base.html
文件:

{%load static%}
...
有时,您必须提及ckeditor将通过
settings.py
文件中的ckeditor_BASEPATH找到其静态文件的位置:

STATIC_URL  = '/static/'
STATIC_ROOT = BASE_DIR / 'static_root'

# add this line
CKEDITOR_BASEPATH = STATIC_ROOT / "ckeditor" / "ckeditor"


查看文档了解更多信息要使CKEditor在管理面板之外工作,您必须确保所有表单媒体都存在,以便编辑器工作,方法如下:

。。。
{{form.media}
{{form.as_p}}
//或者您可以使用crispy过滤器:{form | crispy}}
//您可以指定所需的确切字段,例如form.content
{{form.content}}
//您可以毫无问题地使用crispy:
{{form.content}as_crispy_field}
...
有时,当使用
{{form.media}}
时,它不会加载媒体并显示错误(对我来说,它会给我这个错误:
类型为PosixPath的对象不是JSON可序列化的
),因此您必须手动将其加载到
form.html
文件中(或您称之为它的任何文件,例如:
blog_form.html
)或者通过
标记查看
base.html
文件:

{%load static%}
...
有时,您必须提及ckeditor将通过
settings.py
文件中的ckeditor_BASEPATH找到其静态文件的位置:

STATIC_URL  = '/static/'
STATIC_ROOT = BASE_DIR / 'static_root'

# add this line
CKEDITOR_BASEPATH = STATIC_ROOT / "ckeditor" / "ckeditor"

查看文档了解更多信息