上传图片

  • 在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