做完了基本的 CRUD 功能,接著就先介紹 Python 處理圖片的 library,以及介紹 Django 中處理此類檔案的方法。
讓 Python 可以處理圖片的一個常用 library,主要有以下功能:
此 library 先前已經安裝在此專案的虛擬環境中了,所以不用再安裝一次。接下來介紹一下 Django 如何處理圖片類型的檔案。
在 Django 建立的網站中常需要額外的圖片、HTML、CSS 或是 JavaScript 等檔案才能良好運作,此類型檔案稱為 static files;若是使用者上傳的圖片則是歸類成 media files。兩種檔案在 Django 有不同的配置方法。
以下介紹的配置方式不適用於 production。額外補充:production 的配置方式
static file 在創建專案時 Django 會自動配置好,在settings.py
中就可以看到相關程式碼:
INSTALLED_APPS = [
# ...
'django.contrib.staticfiles',
]
# ...
STATIC_URL = 'static/'
而 media files 需要自己配置路徑,在settings.py
中加入:
# ...
MEDIA_URL = 'media/'
MEDIA_ROOT = BASE_DIR / 'media'
這樣設定後,使用者上傳圖片時 Django 便會創建一個 rest_api/media 的資料夾存放圖片檔。接著到 rest_api/urls.py 中加入程式碼:
from django.conf import settings
from django.conf.urls.static import static
# ...
urlpatterns = [
# ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
儲存後就大功告成!
簡單介紹完 pillow 以及配置完 media file 的處理方式後,接下來就可以開始實作了!下篇文章見~