Django-28 文件上传 上传规范-前端[HTML] 上传规范-后端[Django]

上传规范-前端[HTML]

文件上传必须为POST提交方式
表单<form>中文件上传时必须带有enctype='multipart/form-data'时才会包含文件内容数据。
表单中用<input type='file' name='xxx'>标签上传文件

上传规范-后端[Django]

视图函数中,用request.FILES取文件框的内容
file = request.FILES['xxx']
说明:
1,FILES的key对应页面中file框的name值
2,file绑定文件流对象
3,file.name文件名
4,file.file文件的字节流数据

配置文件的访问路径和存储路径
在setting.py中设置MEDIA相关配置;Django把用户上传的文件,统称为media资源
Django把用户上传的文件,统称为media资源

#file : settings.py
MEDIA_URL = '/media'
MEDIA_ROOT = 'os.path.join(BASE_DIR,'media')'

MEDIA_URL和MEDIA_ROOT需要手动绑定
步骤:主路由中添加路由

from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

说明:等价于做了MEDIA_URL开头的路由,Django接到该特征请求后去MEDIA_ROOT路径查找资源

文件写入方案1:传统的open方法

文件写入方案2:借助ORM

字段:FileFile(upload='子目录名')


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章