分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

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

发布时间:2023-09-06 02:35责任编辑:蔡小小关键词:文件上传

安装包

pip install Pillow

设置

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

models.py

file = models.FileField()

  1. 定义upload_to="background/"

    表示上传的文件将会存在$MEDIA_ROOT/background/下

  2. ImageField和FileField实际上是CharFields,所以可以设置blank=True

serializers.py

正常写一个ModelSerializer

class FileSerializer(serializers.ModelSerializer): ???class Meta: ???????model = File ???????fields = "__all__"

效果

写完view中的逻辑和注册路由后,访问对应的接口可以看到FileField字段是一个上传文件的按钮

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

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

原文地址:https://www.cnblogs.com/luozx207/p/10538608.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved