亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django直接從外部存儲服務文件

Django直接從外部存儲服務文件

HUWWW 2021-05-30 21:45:10
我有一個基于 Google Cloud Platform 構建的 Django 項目。我們使用的是 Django 的身份驗證系統,并且大多數(幾乎所有)用戶都沒有在 GCP 項目中設置憑據,因此所有文件身份驗證都需要基于 Django 而不是 GCP。我們用于文件存儲的后端配置非?;A,并且文件已按預期成功上傳到GCS:DEFAULT_FILE_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'GS_BUCKET_NAME = 'my-bucket'生成的文件URL格式為(再次如預期的那樣):https://storage.googleapis.com/my-bucket/my-document.txt問題是這個存儲桶不能公開讀取,因為文件具有基于 Django 權限系統中設置的規則的訪問控制,每個用戶都不同。如何讓Django提供文件而不是由GCS提供文件?想到的一個想法是讓視圖從 GCS 加載文件并將它們傳遞給請求的客戶端,但我懷疑這不會很好地處理大文件,因為我需要將整個文件加載到本地內存(壞)或以塊的形式加載文件并將它們以這些塊的形式寫入響應流,但不知道這是否可以在 Django 中完成。
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

如果您的應用程序決定了對文件的訪問(通過 Django 的身份驗證系統),那么您必須執行您所描述的傳遞方法。

如果文件很大,您可以流式傳輸響應,而不是一次加載并發送整個響應-請參見django.http.StreamingHttpResponse。


查看完整回答
反對 回復 2021-06-01
  • 1 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號