利用Django REST framework快速实现文件上传下载功能

安装包 pip install Pillow 设置

首先在settings.py中定义MEDIA_ROOT与MEDIA_URL。例如:
MEDIA_ROOT = os.path.join(BASE_DIR, "files") MEDIA_URL = "/files/"
files可以是项目根目录的任何一个文件夹

在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是必须提供的文件位置

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字段是一个上传文件的按钮

利用Django REST framework快速实现文件上传下载功能

上传文件后,该字段会返回可以访问文件的url

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsszgw.html