Djangos学习笔记:上传文件/图片

  首先在根目录下的settings中添加配置:

1
2
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

这样上传的文件就会在media文件夹中

  Models.py中添加模型并完成迁移,例如:

1
2
3
4
5
6
class ImageStore(models.Model):
name = models.CharField(max_length=150, null=True)
img = models.ImageField(upload_to='img') # 会上传至/media/img文件夹中,如不存在则会自动生成一个

def __str__(self):
return self.name

  上传图片功能需要安装Pillow:

1
pip install pillow

  然后在admin.py中注册模型:

1
admin.site.register(ImageStore)

即可在管理员界面对图片进行上传,并且上传后图片会出现在文件夹中。

  目前还存在的问题是无法在管理员界面显示图片,如果直接点链接会跳转至一个新的无法到达的地址,原因是因为相应的路由地址我还没写。