这里写自定义目录标题
- 前置说明
- 静态文件
- 收集静态文件
- 使用django-storages来使Django集成Minio
- 安装依赖
- settings.py
- 测试收集静态文件
- 测试媒体文件
前置说明
静态文件
Django默认的Storage是本地,项目中的CSS、图片、JS都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件的路径。静态文件可以放在项目根目录下,也可以放在子应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。
为了提供静态文件,需要配置两个参数:
STATICFILES_DIRS=[]:存放查找静态文件的目录,接收的是list;- STATIC_URL:访问静态文件URL前缀。
在生产环境下,即Debug=False时,Django将不再对外提供静态文件,而需要使用collectstatic命令收集静态文件并交由静态文件服务器来提供服务。
收集静态文件
我们需要收集项目中的静态文件,并放到静态文件服务器中,一般使用Nginx服务器作为静态文件服务器。
在settings.py中设置收集静态文件的目录
执行收集静态文件命令,该命令会将项目中所有的静态文件复制到第一步建的目录下。
使用django-storages来使Django集成Minio
安装依赖
为什么使用django-storages,而不使用django-storages-minio、django-minio,因为Github上的star没有django-storages多,而且PyPi上也已经没有版本迭代了,最重要的是照着资料配置,最后都没成功。django-storages好像是官方的组件。
Minio和AmazonS3的API完全兼容,所以直接使用Amazon S3的API即可,官方文档:https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#
需不需要“[s3]”没有详细的测试,多按一个包也没几兆。
settings.py
注意:桶需要自己创建好。
测试收集静态文件



通过静态路由访问静态文件:http://127.0.1:5002/static/admin/img/calendar-icons.svg,可以直接将文件展示出来。

测试媒体文件
创建一个子应用,在子应用的models.py中创建一个模型类,过程略。
将模型注册到Django Admin中,在admin.py中配置
迁移模型类
访问Django Admin,找到刚才的模型类,点击Add创建一条新纪录。


去Minio上查看,自动创建了media目录,目录中多了刚才选中的文件。


所有评论(0)