我刚刚通过安装django-ckeditor将其添加到我的django项目中:
pip install django-ckeditor
将其添加到INSTALLED_APPS
,并添加上传路径:
CKEDITOR_UPLOAD_PATH = "ckeditor_uploads/"
运行manage.py collecstatic
,它仅添加了两个文件,并将URL添加到了我的url.py
:
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
我不确定自己是否在这里不缺少任何东西。
然后,我创建了一个非常简单的模型,如下所示:
class BlogPost(models.Model):
title = models.CharField(max_length=255, blank=False, null=False)
body = RichTextField(blank=False, null=False)
当我尝试在管理工具上添加新记录时,出现此错误:
TemplateDoesNotExist位于/ admin / core / blogpost / add /
ckeditor / widget.html
模板加载器事后查看如下:
Template-loader postmortem
Django tried loading these templates, in this order:
Using engine django:
django.template.loaders.filesystem.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\django\forms\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\core\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\django\contrib\admin\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\django\contrib\auth\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\rest_framework\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\reversion\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\colorfield\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\ckeditor_uploader\templates\ckeditor\widget.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\pupeno\projectx\venv\lib\site-packages\django_extensions\templates\ckeditor\widget.html (Source does not exist)
最后一行之前的行是相关的,它试图从ckeditor/widget.html
加载ckeditor_uploader
,但是widget.html
出现在ckeditor
中,而不是ckeditor_uploader
:< / p>
有什么想法吗?
我也尝试将字段转换为RichTextUploadingField
,但是我遇到了同样的错误。
答案 0 :(得分:2)
即使我也遇到了同样的问题。请按照我的步骤操作。它对我以及我的许多朋友都有效。
请记住,它也适用于生产级别,因为我在线托管了许多 django 应用程序。
pip 安装 django-ckeditor
之后
第一步:在models.py里面写
from ckeditor.fields import RichTextField
class BlogPost(models.Model):
title = models.CharField(max_length=255, blank=False, null=False)
body = RichTextField(blank=False, null=False)
步骤 2: 运行命令 python manage.py makemigrations
步骤 3: 运行命令 python manage.py migrate
第 4 步:在 admin.py 中写入
from .models import BlogPost
admin.site.register(BlogPost)
第 4 步:我在 settings.py 的 installed_apps 中添加了 “ckeditor”。
步骤 5: 运行命令 python manage.py collectstatic
它会要求您覆盖现有文件并输入是
确保你的目录结构看起来像
第 6 步:将 ckeditor 文件夹复制到控制面板查找的根静态文件夹中
就我而言,我必须将 ckditor 文件夹复制到另一个名为 public_html
我将 ckeditor 文件夹复制到 public_html/static/
全部完成
答案 1 :(得分:0)
问题是我向安装的应用程序中添加了ckeditor_uploader
而不是ckeditor
。
答案 2 :(得分:0)
我有同样的问题。我将ckeditor添加到settings.py
的已安装应用中答案 3 :(得分:0)
即使我遇到了同样的问题。 阅读文档后,我在 urls.py 和 installed_apps 中添加了“ ckeditor_uploader ”。
然后,他们终于意识到并仅在 settings.py 的 installed_apps 和“ ckeditor_uploader ”中添加了“ ckeditor ”在 urls.py
中答案 4 :(得分:0)
您在INSTALLED_APPS中都需要两个应用程序:
INSTALLED_APPS = [
...
'ckeditor',
'ckeditor_uploader'
...
]