1. 程式人生 > >django使用admin站點上傳圖片

django使用admin站點上傳圖片

Django有提供檔案系統支援,在Admin站點中可以輕鬆上傳圖片。使用Admin站點儲存圖片,需要安裝Python的圖片操作包

pip install Pillow

1 配置
預設情況下,Django會將上傳的圖片儲存在本地伺服器上,需要配置儲存的路徑。我們可以將上傳的檔案儲存在靜態檔案目錄中,如我們之前設定的static_files目錄中在settings.py 檔案中新增如下上傳儲存目錄資訊

MEDIA_ROOT=os.path.join(BASE_DIR,"static_files/media")

2 為模型類新增ImageField欄位
我們為之前的BookInfo模型類新增一個ImageFiled

class BookInfo(models.Model):
    ...
    image = models.ImageField(upload_to='booktest', verbose_name='圖片', null=True)

upload_to 選項指明該欄位的圖片儲存在MEDIA_ROOT目錄中的哪個子目錄,進行資料庫遷移操作

python manage.py makemigrations
python manage.py migrate

3 使用Admin站點上傳圖片
進入Admin站點的圖書管理頁面,選擇一個圖書,能發現多出來一個上傳圖片的欄位admin站點圖片欄位,選擇一張圖片並儲存後,圖片會被儲存在static_files/media/booktest/

目錄下。

在資料庫中,我們能看到image欄位被設定為圖片的路徑