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

2025-08-03 22:26:44

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:文件上传实现过程详解
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢