Django学习14 -- 文件上传
Posted Rolei_zl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习14 -- 文件上传相关的知识,希望对你有一定的参考价值。
Django使用 FileField 和 ImageField 定义上传文本文件 和 图片文件。
- 初始化文件上传路定义
setting.py中定义 MEDIA_URL 和 MEDIA_ROOT两个参数
1)MEDIA_ROOT
定义文件上传的绝对路径。
2)MEDIA_URL
定义文件访问地址,必须以 "/"结尾,默认为 ''MEDIA_ROOT = os.path.join(BASE_DIR,"upload") MEDIA_URL = '/upload/'
- 设置文件上载路径
from django.conf import settings from django.conf.urls.static import static #调用settings.py设轩 urlpatterns = [ ... url list ... path list ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
- FileField
1)数据库中增加 file 路径存储字段
2)model.py中定义 file 字段-- DB field, image 定义 field name field type field length file varchar 50
3)admin.py中定义 file 显示file = models.FileField(upload_to='file') # 定义file文件上传路径为 file path + '/file'
list_display = ( ... 'file', ... )
- ImageField
1)数据库中增加 image 路径存储字段
2)model.py中定义 image 字段-- DB field, image 定义 field name field type field length image varchar 50
3)admin.py中定义 image 显示image = models.ImageField(upload_to='image') # 定义image文件上传路径为 file path + '/image'
list_display = ( ... 'image', ... )
- 界面显示
-
文件存付诸路径
> \\upload>tree /F H:. ├─file │ 50051bcb92bd6.jpg │ RequestIP.txt │ test.py │ └─image 50051bcb92bd6.jpg 50051bcb92bd6_WO67SSi.jpg color.png
- 待补充内容
1)一次上传多个文件 -- 使用inline方式将上传文件路径存储在独立的数据表中
2)文件上传大及类型设置
以上是关于Django学习14 -- 文件上传的主要内容,如果未能解决你的问题,请参考以下文章