2010-03-29 70 views
1

我想讓用戶上傳不會保存在媒體文件夾中的媒體。當我使用下面的代碼行時,數據將被上傳到media/upload/logo。django處理文件上傳 - 目標不同於媒體文件夾

logo_img = models.FileField(upload_to='upload/logo', blank=True) 

我想知道如何改變這種行爲。

我會嘗試編寫一個自定義的FileField和一個基於數據庫條目服務數據的視圖。我不想將用戶上傳到媒體文件夾的數據放入,因爲它沒有公共數據。

這種方法是否正確? 在那裏有解決方案,正是我想要的,我會重新發明輪子自己實施這個?

將不勝感激任何幫助!

回答

3

根據django的文檔,FileField的默認行爲是將文件上傳到MEDIA_ROOT。如果您只想保持上傳文件的私密性,則可以分開MEDIA_ROOT目錄,而目錄包含您的網站媒體文件。然後編寫一個自定義視圖以從MEDIA_ROOT提供文件。

如果您有更復雜的需求,可以實現自己的文件存儲。檢查http://docs.djangoproject.com/en/dev/howto/custom-file-storage/欲知更多信息。使用自定義文件存儲,您可以完全控制文件的存儲方式以及如何提供文件。

+0

謝謝,自定義文件存儲正是我正在尋找! – 2010-03-29 13:47:27

相關問題