我使用Amazon S3作爲我的web服務的一部分。工作流程如下:本地文件系統作爲Django中的遠程存儲
- 用戶上傳大量文件到網絡服務器。 Web服務器第一把它們存儲在本地,然後上傳到S3異步
- 用戶發送HTTP請求來啓動工作(這是這些上傳的文件進行一些處理)
- Web服務要求職工辦
- 工人做的工作工作和上傳結果到S3
- 用戶請求從Web服務器下載鏈接,
somedbrecord.result_file.url
返回使用這個鏈接
要處理文件
QueuedStorage
後端。我開始我的FileFields
這樣的: user_uploaded_file = models.FileField(..., storage=queued_s3storage, ...)
result_file = models.FileField(..., storage=queued_s3storage, ...)
哪裏queued_s3storage
是...backends.QueuedStorage
和remote
場派生類對象設置爲'...backends.s3boto.S3BotoStorage'
。
現在我打算在一臺機器上部署整個系統以在本地運行所有內容,我想用基於本地文件系統的東西替換這個'...backends.s3boto.S3BotoStorage'
。
第一個解決方法是使用可以在本地「模擬」S3的FakeS3。工程,但這不是理想的,只是額外的不必要的開銷。
我有Nginx服務器運行並提供來自特定目錄的靜態文件。如何創建實際存儲本地文件的「遠程存儲」類,但是提供了導致Nginx提供的文件的下載鏈接? (如http://myip:80/filedir/file1
)。在django中有沒有標準的庫類?
謝謝! MEDIA_URL是我正在尋找的 – 2014-10-07 14:14:08
您提到的HOSTNAME是嵌入在django中的東西嗎?或者是我在settings.py中指定的自己的變量? – 2014-10-07 14:23:44
你自己的變量。 – pztrick 2014-10-07 14:25:19