[英]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.