django-图片上传-media图像配置(后端)

司寇烨伟
2023-12-01

一:安装pillow模块

pip3 install pillow -i https://pypi.douban.com/simple/

二:settings配置

# 上传图像配置
# 项目中存储上传文件的根目录[暂时配置],注意,uploads目录需要手动创建否则上传文件时报错
MEDIA_ROOT = os.path.join(BASE_DIR, "uploads")
# 访问上传文件的url地址前缀(默认找到MEDIA_ROOT,跟static一样)
MEDIA_URL = "/media/"

三:在django项目中转换上传文件的Url地址,总路由urls.py新增代码

from django.urls import re_path
from django.conf import settings
from django.views.static import serve

urlpatterns = [
  	...
    re_path(r'media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}),
]

四:models.py配置字段

class User(models.Model):
    avatar = models.ImageField(upload_to='avatar', verbose_name='用户头像', null=True, blank=True)

五:欧了

ps:粗略解释一下配的路由

a. 配的路由中的media,是MEDIA_ROOT的别名,

b. http://127.0.0.1:8000/media/avatar/1.png(路由示例)

c. 你上传的图片,他自动帮你存在,upload_to ,这个写的文件夹里面(自动生成avatar文件夹)

e. 自动生成的文件夹名称,跟你upload_to后面配置的名称有关(你配置什么,就生成什么文件夹名称)

 类似资料: