当前位置: 首页 > news >正文

定制网站建设案例展示东莞做网站 南城信科

定制网站建设案例展示,东莞做网站 南城信科,制作英文网站多少钱,上海的装修公司前十强有哪些这里写自定义目录标题 前置说明静态文件收集静态文件 使用django-storages来使Django集成Minio安装依赖settings.py测试收集静态文件测试媒体文件 前置说明 静态文件 Django默认的Storage是本地,项目中的CSS、图片、JS都是静态文件。一般会将静态文件放到一个单独…

这里写自定义目录标题

  • 前置说明
    • 静态文件
    • 收集静态文件
  • 使用django-storages来使Django集成Minio
    • 安装依赖
    • settings.py
    • 测试收集静态文件
    • 测试媒体文件

前置说明

静态文件

Django默认的Storage是本地,项目中的CSS、图片、JS都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件的路径。静态文件可以放在项目根目录下,也可以放在子应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。
为了提供静态文件,需要配置两个参数:

  • STATICFILES_DIRS=[]:存放查找静态文件的目录,接收的是list;
  • STATIC_URL:访问静态文件URL前缀。
# 1. 静态文件的路由
STATIC_URL = '/static/'# 2. 访问静态文件时,会遍历列表中的文件夹,找到对应的静态文件
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_files')]
# 配置静态文件夹路径 未来可能会有很多静态文件夹,都在这里配置# 3.访问的地址:127.0.0.1:8000/static/xxxx

在生产环境下,即Debug=False时,Django将不再对外提供静态文件,而需要使用collectstatic命令收集静态文件并交由静态文件服务器来提供服务。

收集静态文件

我们需要收集项目中的静态文件,并放到静态文件服务器中,一般使用Nginx服务器作为静态文件服务器。
在settings.py中设置收集静态文件的目录

# 这是Django默认存储的配置,下面使用Minio就用不到这个配置了
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'staticfiles')

执行收集静态文件命令,该命令会将项目中所有的静态文件复制到第一步建的目录下。

python manage.py collectstatic

使用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#

# 安装依赖
pip instll django-storages[s3] minio

需不需要“[s3]”没有详细的测试,多按一个包也没几兆。

settings.py

注意:桶需要自己创建好。

# 注册应用
INSTALLED_APPS = [# ......   'storages',# ......
]STATIC_URL = '/static/'  # 静态文件的路由
MEDIA_URL = '/media/'  # 媒体文件的路由
STORAGES = {# default是媒体文件的配置'default': {"BACKEND": "storages.backends.s3.S3Storage",  # 替换Djangpo默认的Stroage"OPTIONS": {'access_key': 'root',  # Minio账号'secret_key': '123456',  # Minio密码'bucket_name': 'data-monitor', # Minio中桶名称,需要自己创建'file_overwrite': False,  # 同名文件是否允许覆盖'use_ssl': False,  # 是否使用Https,False就是使用Http'endpoint_url': 'http://127.0.0.1:9000',  # Minio服务地址# 'location': 'media'  # 指定媒体文件的MEDIA_ROOT,不指定就是桶的根目录},},# staticfiles是静态文件的配置'staticfiles': {"BACKEND": "storages.backends.s3.S3Storage",  # 替换Djangpo默认的Stroage"OPTIONS": {'access_key': 'root','secret_key': '123456','bucket_name': 'data-monitor',  # Minio中桶名称,程序不能自动创建'file_overwrite': False,'use_ssl': False,'endpoint_url': 'http://127.0.0.1:9000','location': 'staticfiles',  # 收集静态文件到哪个目录,不指定默认在桶根目录下},},
}

测试收集静态文件

python manage.py collectstatic

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过静态路由访问静态文件:http://127.0.1:5002/static/admin/img/calendar-icons.svg,可以直接将文件展示出来。
在这里插入图片描述

测试媒体文件

创建一个子应用,在子应用的models.py中创建一个模型类,过程略。

class MyModel(models.Model):title = models.CharField(max_length=255)# settings中没有配置MEDIA_ROOT的路径默认就是桶的根目录# 这里指定的是上传到MEDIA_ROOT的哪个文件夹中,# 即“MEDIA_ROOT/upload_to”,路径会自动创建file = models.FileField(upload_to='media/')  # 加不加最后的/都可以

将模型注册到Django Admin中,在admin.py中配置

@admin.register(models.MyModel)
class MyModelAdmin(admin.ModelAdmin):pass

迁移模型类

python manage.py makemigrations
python manage.py migrate

访问Django Admin,找到刚才的模型类,点击Add创建一条新纪录。

在这里插入图片描述
在这里插入图片描述
去Minio上查看,自动创建了media目录,目录中多了刚才选中的文件。

在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/705847/

相关文章:

  • 体育网站建设的分析免插件优化wordpress
  • 泰安的网站建设公司要网站开发费用短信
  • 商城网站建设制作设计wordpress 博客不显示
  • 厦门网站建设h5在哪里找手机网站建设公司
  • 教育类网站开发廊坊短视频优化
  • 深圳市长城建设有限公司网站网站制作公司员工
  • jsp网站开发实例.百度网盘智慧校园系统平台
  • 长沙专业做网站网站的构成元素
  • 小榄网站设计贸易网站模板
  • 加强图书馆网站建设怎么在word上做超链接网站
  • 网站公司做的比较好网页制作基础教程第二版
  • 网站焦点图如何美观乐达网站建设
  • 看网站时的关键词惠州网站制作推广公司排名
  • 中国专门做生鲜的网站如何做网站运营
  • 赤风设计深圳seo公司助力网络营销飞跃
  • 河北省建设网和执业中心网站四川省住房与建设厅网站首页
  • 网站建设大作业电子版想给公司做个网站怎么做的
  • 孵化器网站建设凡科送审平台学生不能登录
  • 成都金牛区建设局网站开发app学什么编程语言
  • 网站开发用户分析广告设计公司公司vi设计
  • 潍坊设计网站建设网站开发与应用 大作业作业
  • 广东城市建设档案馆官方网站台州网站建设策划
  • 学做网站平台北京模板建站软件
  • 网站风格的特点福州品牌网站建设oem
  • 大连开发区网站开发公司seo快速优化
  • 青岛美工网页设计wordpress 优化原理
  • 给大家黄页推广网站安徽省建设厅网站证书查询
  • 商务网站建设期末作业路桥网站制作
  • 江门住房和城乡建设部网站都有哪些做二手挖机的网站
  • 一站式做网站系统展览展会策划公司