media配置及把用户头像从数据库展示到前端

media配置及把用户头像从数据库展示到前端

写在前面

其实media配置也可以完全用static代替(看你自己的选择),static代替的方法是直接在mobles.py里设置用户上传头像的时候,修改一下用户上传头像时的保存位置
image

当设置成static/avatar/之后,我们后期在获取用户上传的文件时就可以在其前面加一个static就可以获取到了(相当于获取静态文件资源!!)

image

1.media配置

在django中,我们所需的静态文件资源默认是放在static文件夹下的
用户上传的文件也应该单独放在某个文件夹下

media配置的作用:该配置可以让用户上传的所有文件都固定的存放在某一个指定的文件夹下

后期我们在从数据库存取对应用户上传的文件时,也可以相对应的取出

1.1 配置用户上传文件的存储位置

在setting.py中书写以下代码:
	MEDIA_ROOT = os.path.join(BASE_DIR,"media")
	# 用户上传的文件都会放在项目文件的media文件夹里
	# 不需要自己创建该文件夹,用户上传文件之后,系统会自动帮你创建

1.2 开设后端指定资源

在urls.py中书写以下指定代码:

    # 暴露后端指定文件夹资源
    re_path(r"^media/(?P<path>.*)",serve,{"document_root":settings.MEDIA_ROOT})
    # 上述固定写法,media是和static一个意思,url遇见media会自动去后面settings.MEDIA_ROOT配置好的路径找对应的资源

2.用户头像展示

# {{ article_obj.blog.userinfo.avatar }}是获取文件当时的存储位置
# 加个media是指遇见media就去media文件夹里找用户上传的文件
 <img class="media-object" src="/media/{{ article_obj.blog.userinfo.avatar }}" alt="..." width="60">
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » media配置及把用户头像从数据库展示到前端