【问题标题】:How to disable browse server option for non admin while uploading image in django-ckeditor?如何在 django-ckeditor 中上传图像时禁用非管理员的浏览服务器选项?
【发布时间】:2019-11-23 09:09:25
【问题描述】:

我有一个关于 django 的博客,任何公众都可以在上面发布。在帖子内容中,我使用 django-ckeditor RichTextUploadingField。

ckeditor中有一个浏览服务器图片的按钮,可以让用户浏览服务器上传目录的图片,并在帖子中嵌入图片。

但我想限制公众在发帖时浏览服务器上的图像。他们应该只能上传图片,而不是浏览服务器上上传的每张图片。

这是我的models.py


class Article(models.Model):
    title = models.CharField(max_length = 200)
    content = RichTextUploadingField()
    author = models.ForeignKey(User, on_delete= models.CASCADE, null=True)

    def __str__(self):
        return self.title

Forms.py


class ArticleForm(ModelForm):
    class Meta:
        model = Article
        widgets = {
            'content': RichTextUploadingField()
        }

【问题讨论】:

    标签: django django-ckeditor django-filebrowser


    【解决方案1】:

    没有提供删除此功能的直接设置,但可以使用CKEDITOR_RESTRICT_BY_USER = True 来实现相同的目的。 来自文档的参考:

    将项目的CKEDITOR_RESTRICT_BY_USER设置为True settings.py 文件(默认 False)。这限制了对上传的访问 图片到uploading user(例如,每个用户只能看到和上传 他们自己的图像)。上传路径以返回的字符串为前缀 get_username。如果 CKEDITOR_RESTRICT_BY_USER 设置为 string,则 而是使用命名属性。超级用户仍然可以看到所有图像。 注意:此限制仅在 CKEditor 媒体中强制执行 浏览器。

    【讨论】:

      猜你喜欢
      • 2016-02-15
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      • 1970-01-01
      相关资源
      最近更新 更多