上传图片
- 在Django中上传图片包括两种方式:
- 在站点管理页面中上传图片
- 自定义form表单中上传图片
- 上传图片后,将图片存储在项目静态文件中,然后将图片的路径存储在数据库表中
准备工作
1.创建图片上传后保存的目录
- 上传的图片也是属于静态文件,保存在
static
目录下 media
表示多媒体文件目录;Book
表示区分哪个应用上传的文件图片上传后保存的路径:
static/media/Book/
- 上传的图片也是属于静态文件,保存在
2.在
settings
中,配置图片上传后保存目录3.创建上传图片的模型类
- 定义图片保存的路径作为模型属性
path
将模型类属性定义成
models.ImageField
类型# 上传图片的模型 class PictureInfo(models.Model): # upload_to:表示图片上传到哪儿 path = models.ImageField(upload_to='Book/') # 元类信息 :修改表名 class Meta: db_table = 'pictureinfo'
- 定义图片保存的路径作为模型属性
4.生成迁移
python manage.py makemigrations
5.执行迁移,把图片模型的表创建出来
python manage.py migrate