Javascript 在django ckeditor中上载图像时,如何发送请求中的附加数据?

Javascript 在django ckeditor中上载图像时,如何发送请求中的附加数据?,javascript,django,ckeditor,image-uploading,django-ckeditor,Javascript,Django,Ckeditor,Image Uploading,Django Ckeditor,我使用django ckeditor让用户在我网站的网页上输入富文本。我网站上的每个网页都代表一个具有唯一id的文档 例如,两个单独的文档将有两个带有URL的网页,例如- example.com/documents/doc1 and example.com/documents/doc2 这两个网页中的每一个都有多个ckeditor。我希望当用户通过网页上的ckeditor上传图像时,example.com/documents/doc1应该转到一个单独的目录 /media/uploads/doc

我使用django ckeditor让用户在我网站的网页上输入富文本。我网站上的每个网页都代表一个具有唯一id的文档

例如,两个单独的文档将有两个带有URL的网页,例如-

example.com/documents/doc1 and example.com/documents/doc2
这两个网页中的每一个都有多个ckeditor。我希望当用户通过网页上的ckeditor上传图像时,example.com/documents/doc1应该转到一个单独的目录

/media/uploads/doc1/ 
而通过网页example.com/documents/doc2上的CKEDITORs上传的图像应转到单独的目录-

/media/uploads/doc2/
现在问题出现了。在django ckeditor模块的views.py中的upload view方法中-

def post(self, request, **kwargs):
    """
    Uploads a file and send back its URL to CKEditor.
    """
    # Get the uploaded file from request.
    upload = request.FILES['upload']

    #Verify that file is a valid image
    backend = image_processing.get_backend()
    try:
        backend.image_verify(upload)
    except utils.NotAnImageException:
        return HttpResponse("""
                   <script type='text/javascript'>
                        alert('Invalid image')
                        window.parent.CKEDITOR.tools.callFunction({0});
                   </script>""".format(request.GET['CKEditorFuncNum']))

    # Open output file in which to store upload.
    upload_filename = get_upload_filename(upload.name, request.user)
    saved_path = default_storage.save(upload_filename, upload)

    if backend.should_create_thumbnail(saved_path):
        backend.create_thumbnail(saved_path)

    url = utils.get_media_url(saved_path)

    # Respond with Javascript sending ckeditor upload url.
    return HttpResponse("""
    <script type='text/javascript'>
        window.parent.CKEDITOR.tools.callFunction({0}, '{1}');
    </script>""".format(request.GET['CKEditorFuncNum'], url))
def post(自我、请求、**kwargs):
"""
上载文件并将其URL发送回CKEditor。
"""
#从请求中获取上载的文件。
上传=请求.FILES['upload']
#验证文件是否为有效图像
backend=image\u processing.get\u backend()
尝试:
后端。图像验证(上传)
除utils.NotAnImageException外:
返回HttpResponse(“”)
警报('无效图像')
window.parent.CKEDITOR.tools.callFunction({0});
“”格式(请求.GET['CKEditorFuncNum']))
#打开要在其中存储上载的输出文件。
上传文件名=获取上传文件名(upload.name,request.user)
保存路径=默认存储。保存(上传文件名,上传)
如果后端。是否应创建缩略图(保存的路径):
后端。创建\u缩略图(保存的\u路径)
url=utils.get\u media\u url(保存的路径)
#用Javascript发送或上传url进行响应。
返回HttpResponse(“”)
window.parent.CKEDITOR.tools.callFunction({0},{1}');
“”格式(请求.GET['CKEditorFuncNum'],url))
上传文件名定义为获取上传文件名(upload.name、request.user)

它将filename和request.user作为参数,并将文件存储在用户特定的文件夹中。如何将文档ID从url传递到post请求,以便使用文档ID将图像存储在以文档为中心的文件夹中


我希望我的观点被理解。如果需要更多的信息,请在评论中告诉我,我会补充这些。谢谢将其添加到config.filebrowserUploadUrl中:

config.filebrowserUploadUrl = "/upload.php?docid=" + docid;

我使用的是django后端,不是php后端然后使用upload.py而不是upload.php您真的想让我猜一下您在CKEditor配置中使用的url吗?