安裝包
pip install Pillow
如果在windows系統,需要下載whl文件手動pip安裝
https://pypi.org/project/Pillow/#files
設置
1、首先在settings.py中定義MEDIA_ROOT與MEDIA_URL。例如:
MEDIA_ROOT = os.path.join(BASE_DIR, "files")
MEDIA_URL = "/files/"
files可以是項目根目錄的任何一個文件夾
2、在urls.py的urlpatterns中,設置訪問文件的url
from django.views.generic import TemplateView
url(r'^files/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT})
?P<path>
代表這一塊的內容將作為參數path傳給serve方法
serve方法是django自帶的處理靜態文件的方法
document_root是必須提供的文件位置
注意如果文件放在url注冊的document_root之外,前端是不能訪問到這些文件的
models.py
file = models.FileField()
-
定義upload_to="background/"
表示上傳的文件將會存在$MEDIA_ROOT/background/下
-
ImageField和FileField實際上是CharFields,所以可以設置blank=True
serializers.py
正常寫一個ModelSerializer
class FileSerializer(serializers.ModelSerializer):
class Meta:
model = File
fields = "__all__"
效果
寫完view中的邏輯和注冊路由后,訪問對應的接口可以看到FileField字段是一個上傳文件的按鈕
上傳文件后,該字段會返回可以訪問文件的url