Python 如何在模板django中显示ckeditor,并使用简洁的表单?
我已经安装了django的ckeditor,它应该显示在admin中,但是如何使它显示在我的模板中呢 模板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
{% 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"
查看文档了解更多信息