上传图片

  • 在python中进行图片操作,需要安装包PIL
pip install Pillow==3.4.1
  • 在Django中上传图片包括两种方式:
    • 在管理页面admin中上传图片
    • 自定义form表单中上传图片
  • 上传图片后,将图片存储在服务器上,然后将图片的路径存储在表中

创建包含图片的模型类

  • 将模型类的属性定义成models.ImageField类型
  • 打开booktest/models.py文件,定义模型类PicTest
class PicTest(models.Model):
    pic = models.ImageField(upload_to='booktest/')
  • 回到命令行中,生成迁移
python manage.py makemigrations
  • 打开booktest/migrations/0001_initial.py文件,删除AreaInfo部分,因为这个表已经存在

上传图片

  • 回到命令行中,执行迁移
python manage.py migrate
  • 因为当前没有定义图书、英雄模型类,会提示“是否删除”,输入“no”后回车,表示不删除

上传图片

  • 打开test5/settings.py文件,设置图片保存路径
  • 因为图片也属于静态文件,所以保存到static目录下
MEDIA_ROOT=os.path.join(BASE_DIR,"static/media")
  • 在static目录下创建media目录,再创建应用名称的目录,此例为booktest

上传图片