簡體   English   中英

在django-ckeditor中上傳圖像時,如何在請求中發送其他數據?

[英]How to send additional data in request while uploading images in django-ckeditor?

我正在使用django-ckeditor來使用戶在我的網站網頁上輸入富文本。我網站上的每個網頁都代表一個具有唯一ID的文檔。

例如,兩個單獨的文檔將具有兩個網址,例如-

example.com/documents/doc1 and example.com/documents/doc2

這2個網頁中的每個網頁都有多個CKEDITOR。我希望當用戶通過網頁上的CKEDITOR上傳圖像時,example.com / documents / doc1應該轉到單獨的目錄

/media/uploads/doc1/ 

和通過example.com/documents/doc2頁面上的CKEDITOR上傳的圖像應轉到單獨的目錄-

/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))

upload_filename定義為get_upload_filename(upload.name,request.user)

它以filename和request.user作為參數,並將文件存儲在用戶特定的文件夾中。如何將docid從url傳遞到發布請求,以便可以使用docid將圖像存儲在以文檔為中心的文件夾中?

我希望我的觀點能被理解。如果需要更多信息,請在評論中讓我知道,我會補充一下。 謝謝

將其添加到config.filebrowserUploadUrl中:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM