Django Day6
1.Model继承
- 默认情况通用字段放入父类模型对应的表中,效率低下
- 解决方法,使用元信息,模型抽象化
- class Meta abstarct
- 抽象模型不会产生映射表
- 子模型中的映射表包含父模型中的字段
2.由sql到models
- 利用数据表生成Model
- python manage.py inspectdb > App/models.py
- 自带元信息,元信息中包含属性 managed=False, 不被迁移系统管理
3.models文件上传字段
- 全局配置指定 MEDIA_ROOT
- upload_to
- 利用upload_to实现文件动态分类 ,upload(%y/%m/%d/XXX)
- 指定 relative path,以配置的MEDIA_ROOT为基准
4.静态资源
- 全局资源配置 STATICFILE_DIRS=[os.path.join(BASE_DIR, ‘static’)
- 模板中使用静态资源
- {% load static %}]
- {% static relative-path %}
5.文件上传
- 浏览器请求方式:POST
- 网络中文件上传时分块上传,在form表单中使用 enctype=“multipart/form-data” 加密方式
- 流程
- 从request.Files中得到文件数据
- 使用文件操作在服务器或本地写下获得的文件数据
- 函数icon.chunks()返回文件存在的生成器generator,以chunk_size为每一次获取数据量来写文件
- 每次写入时file.flush清缓存
欢迎加入我的公众号【全能技术进阶之路】,期待与你的每一天学习!