Django实战009:文件上传实现过程详解

 时间:2024-10-25 08:22:46

1、建立模型在model.py中设计文件模型机构,这里为了魑徒扮阙简单我就定义了一个file字段,类型为FileField,通过参数upload_to指定上传文件的保存目录,唁昼囫缍这里我们直接用'./upload'定义了此目录所以不需要提前建立,在迁移数据库时会自动在项目目录下创建对应的文件夹。

Django实战009:文件上传实现过程详解

2、当然你也可以通过在settings.py里设置MEDIA_ROOT,来代替upload_to参数,MEDIA_ROOT:#指定文件上传存储目录,这样使用F足毂忍珩ileField字段时,就不用设置upload_to参数了,在settings.py设置:

Django实战009:文件上传实现过程详解

3、执行迁移命令,同步至数据库:Python manage.py makemigrationspython manage.py migrate

Django实战009:文件上传实现过程详解

4、定义视图迁移完数据库我们开始定义视图,这里我们通过request.FILES.get()方法来获取我们的文件对象,这里需要像服务器提交数据,所以我们用POST方法来实现,然后将文件路径存入数据库中。

Django实战009:文件上传实现过程详解

5、配置路由为视图配置访问路由,我定义了一个upload,我们只要访问http://127.0.0.1:8000/upload/就可以找到对应的路由了,因为这是POST请求接口,需要携带数据进行接口访问,不然就会报错。

Django实战009:文件上传实现过程详解Django实战009:文件上传实现过程详解

6、postman接口测试通过postman模拟POST请求来测试该接口,我们提交一个文件类型的参数进行POST访问,这里我传了一个文件名为1.png的图片文件,传输形式为form-data。

Django实战009:文件上传实现过程详解

7、查看服务器及数据库变化首先我们来看下数据库中是怎么存储的,我们可以看到再说数据库中,文件是以相对路径+文件名的形式存储的,而在项目目录中我们可以看到有个upload目录,里面存储了一个名为1.png的文件,这就是我们刚才上传的文件。

Django实战009:文件上传实现过程详解

8、文件如何上传这个过程中Django自动为我们实现了文件存储的操作,想深层的了解如何上传的话可以了解下如何读写文件,直接用python的open方法进行文件读写操作就可以实现。

Django实战009:文件上传实现过程详解
  • ThinkPHP中文件上传Upload类使用详解
  • Spring Cloud文件上传、下载步骤详解
  • Django教程:[27]os.path查询文件信息
  • 微信小程序实战002:目录结构及重要文件详解
  • 热门搜索
    沮丧的意思 哀悼的意思 什么是低聚果糖 cpdd是什么意思 大珠小珠落玉盘形容什么乐器 注册资本是什么意思 that girl什么意思 嘘寒问暖的意思 on是什么意思 开车是什么意思