- 0. 说明
- 1. 配置 `settings.py`
- 2. 配置 `urls.py`
- 3. 数据模型 `models.py`
- 4. 基于DRF 的 `views.py`
- 5. 测试
使用 Django rest framenwork 框架开发后台服务程序时,解决文件(图片还能用 ImageField)上传和下载的问题。
1. 配置 settings.py在项目根目录下创建 media/ ,如果没有系统将自动生成该目录。
# 上传文件的存储位置 MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 访问路径 MEDIA_URL = "/media/"2. 配置 urls.py
from django.urls import re_path from django.views.static import serve from django.conf import settings re_path(r'^media/(?P3. 数据模型 models.py.*)$', serve, {'document_root': settings.MEDIA_ROOT}),
class TestFile(models.Model):
id = models.BigAutoField(primary_key=True, help_text='编号')
upFile = models.FileField(upload_to='upload_files', null=True)
4. 基于DRF 的 views.py
class TestFileViewSet(viewsets.ModelViewSet):
queryset = TestFile.objects.all()
serializer_class = TestFileSerializer
5. 测试
使用 POST 方法上传请求,注意设置
- Content-Type = multipart/form-data
上传成功后,文件将存储于 项目根目录/media/upload_files/文件名.后缀 。
通过路径 http://127.0.0.1:8000/media/upload_files/文件名.后缀 访问。
.
.
.
.
.
.
桃花仙人种桃树,又摘桃花换酒钱_



