gpt4 book ai didi

python - ckeditor_uploader 动态图片上传路径

转载 作者:行者123 更新时间:2023-12-03 21:20:02 29 4
gpt4 key购买 nike

我有一个 Django 应用程序,它要求用户为每个文档上传多个图像。该应用程序安装了 django-ckeditor,但上传的图像最终位于 CKEDITOR_UPLOAD_PATH 设置的同一文件夹中。环境。我希望路径是动态的,基于 URL 方案。

例如,上传到 https://myapp/report/1/finding/5 上的 CKEditor 实例的图像应该驻留在 /ckeditor_base_path/report/1/finding/5/my_img.png .

不幸的是,在 View 创建 context 之前,处理设置路径的 View 函数的 URL 由小部件 ( CKEditorUploadingWidget ) 设置。范围。

我希望将参数 URL 参数发送到 ImageUploadView用于处理。非常感谢您对此的任何帮助或建议。

最佳答案

如果它对其他人有帮助,这就是我所做的。当用户浏览时,他们将被限制在包含查找图像的文件夹中,因为它们特定于报告的那部分。同样,上传图像会将其发送到同一文件夹。

简而言之,您必须:

  • 将 CKEditor 上传器 URL 指向您的 View 版本
  • 通过相应的表单 View 更新 CKEditor Uploader 小部件
  • 覆盖 CKEditor 上传器 ImageUploadViewbrowse View 来创建您想要的路径

  • 例子

    更新了 CKEditor URL 路径
    path('myapp/<int:org_id>/report/<int:report_id>/finding/<int:finding_id>/image/upload', never_cache(ck_views.upload),
    path('myapp/<int:org_id>/report/<int:report_id>/finding/<int:finding_id>/images', never_cache(ck_views.browse), name='ckeditor_browse'),

    小工具更新
    def get(self, request, *args, **kwargs):
    context = {}
    obj = self.get_object()
    if obj is not None:
    context['org'] = obj.report.org.id
    form = FindingForm(instance=obj)
    # Set image browse/upload path
    image_kwargs = {
    'finding_id': obj.id,
    'org_id': obj.report.org.id,
    'report_id': obj.report.id,
    }
    image_browse_path = reverse('ckeditor_browse', kwargs=image_kwargs)
    image_upload_path = reverse('ckeditor_upload', kwargs=image_kwargs)
    form.fields['description'].widget.config['filebrowserBrowseUrl'] = image_browse_path
    form.fields['description'].widget.config['filebrowserUploadUrl'] = image_upload_path
    context['form'] = form
    return render(request, self.template_name, context)

    关于python - ckeditor_uploader 动态图片上传路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52123097/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com