2017-09-16 97 views
0

我有一個用於上傳圖像的Django admin字段,在我的模型中,我使用callable來獲取FileField實例和Filename。我的目標是打開用戶嘗試上傳的文件並通過API將其上傳到我的Dropbox帳戶,並返回保存圖像的URL。如何獲取正在上傳的文件的完整路徑?以下是我目前在我的模型:Django ImageField模型:獲取upload_to可調用的文件路徑

def upload_to_dropbox(self, filename): 
     return DropboxStorage.store_file(self.image, filename) 

    image = models.ImageField(upload_to=upload_to_dropbox) 

我嘗試使用的ImageField的財產的.url但返回我的MEDIA_ROOT路徑,也許我會對此錯誤的方法嗎?

回答

1

upload_to字段僅用於設置文件夾和文件名。如果您想與Dropbox API談論如何存儲文件,則需要創建Storage api的Dropbox實現,然後使用存儲關鍵字。

Django的存儲器已有一個收件箱實現: http://django-storages.readthedocs.io/en/latest/backends/dropbox.html

from storages.backends.dropbox import DropBoxStorage 
image = models.ImageField(storage=DropBoxStorage())