【问题标题】:Django-CKEditor won't render imagesDjango-CKEditor 不会渲染图像
【发布时间】:2013-09-19 12:00:03
【问题描述】:

我已经安装了 Django-CKEditor 并对其进行了配置以用于开发目的。

现在我可以编辑文本并将其作为文本字段保存到 db。但是在插入图片时我遇到了很大的问题......

我可以插入图像,它似乎可以正确保存到本地主机(正确的文件夹),但是在将图像渲染到预览或文本编辑器时,我只得到损坏的图像图片。 显然我没有正确配置 settings.py 。 settings.py 中的主要项目:

MEDIA_ROOT = ''
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
CKEDITOR_UPLOAD_PATH = 'media/uploads/'
CKEDITOR_UPLOAD_PREFIX = 'media/uploads/'

也尝试了与 django-ckeditor testproject has 类似的配置,但面临类似的损坏渲染图像。

我正在使用 windows 环境进行开发。 Django-ckeditor 版本为4.0.2

任何想法是什么问题或从哪里开始解决这个问题?

【问题讨论】:

  • 在调查 html 时,似乎例如在服务器上浏览图像时,ckeditor 从本地主机获取所有保存的图像并将它们显示为损坏的图像。来自 HTML <img src="media\uploads\2013\09\19\Penguins_thumb.jpg"> => 位置正确,但图像仍然损坏。首先,我认为问题出在不同类型的斜杠上(Windows 使用反斜杠)并将 settings.py 更改为包含:CKEDITOR_UPLOAD_PATH = os.path.join('media', 'uploads') 但没有帮助

标签: python django ckeditor django-ckeditor


【解决方案1】:

尝试收集所有静态文件 在 shell 中使用以下内容

python manage.py collectstatic

查看此链接:https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/

【讨论】:

  • 根据django-ckeditor issues 在开发阶段不需要。所以,猜猜这不是问题(稍后仍会尝试)
  • 我遇到了同样的问题,我尝试了同样的事情并且对我来说效果很好。
【解决方案2】:

找到根本原因。

调试后发现 django-ckeditor 有 Windows 反斜杠的问题。 首先我自己更正了,最后发现这个已经上报了,也提出了更正建议,但还没有合并到master分支:

Fixing trouble with backward slashes in Windows

【讨论】:

【解决方案3】:

使用django-vckeditor - 更容易安装和配置。对于通过 FTP 上传的文件或现有的缩略图,将自动创建。

【讨论】:

  • 链接失效了,网上也不存在django-vckeditor项目。
【解决方案4】:

我有正确的网址,但图像仍然没有呈现,直到我记得在模板中将 html 标记为安全(即{{my_model.my_text_field|safe}}

【讨论】:

    猜你喜欢
    • 2017-10-19
    • 1970-01-01
    • 2022-12-21
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    相关资源
    最近更新 更多