Django配置用户上传文件夹和暴露后端文件夹资源

Posted cnhyk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django配置用户上传文件夹和暴露后端文件夹资源相关的知识,希望对你有一定的参考价值。

网站所用的静态文件我们都默认存放到static文件夹下,而用户上传的文件也是静态资源,我们需要找一个公共的地方专门存储用户上传的静态文件。

针对用户上传的不同文件,保存到指定的文件夹下。

media配置专门用来指定用户上传的静态文件存放路径

1、配置文件中书写以下代码

# settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  # 用户上传的文件就会保存到该文件夹下
# media是文件夹的名字,可以自定义,一般使用media作为名字

当用户上传文件,会自动创建media目录,并且你模型表中指定的上传路径,会自动在media目录下创建相应的上传目录。

例如models类中,avatar字段:

avatar = models.FileField(upload_to='avatar', default='avatar/default.png')

该模型表中指定上传至avatar目录,因此会在media目录下再创建一个avatar目录,用于存放用户的头像

2、还需要将后端文件夹资源暴露给用户,这样用户才能访问到。

先去urls.py中导入模块:

from django.views.static import serve
from bbs import settings

在urls.py中多写一条url,固定的写法:

url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT})

以上是关于Django配置用户上传文件夹和暴露后端文件夹资源的主要内容,如果未能解决你的问题,请参考以下文章

BBS media配置(用户头像展示)

昨日回顾

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示

Django第二天,必会知识点

在 Django 后端使用 Clamav 设置文件上传流扫描

最佳文件上传组件 —— filepond