为项目部署到的每种环境类型注入可视指示器的轻量级中间件类集。
django-envi的Python项目详细描述
目录
Introduction
一组轻量级的中间件类,为 项目部署到的每种类型的环境。灵感来自 this article。
Quickstart
- 安装程序包:pip install django-envi。
- 将'envi'应用程序添加到INSTALLED_APPS中。
- 将所需的中间件类安装到MIDDLEWARE_CLASSES:
- envi.middleware.EnviFooterMiddleware向 显示当前环境的所有页面。
- 在每个环境的设置文件中,添加ENVIRONMENT_KEY设置, 使用相应的环境键字符串。见下文。
Built-in environments
有许多内置环境定义:
- 'local':灰色条纹横幅。显示站点范围(默认)。
- 'dev':蓝色条纹横幅。出现在站点范围内。
- 'staging':带条纹的黄色横幅。出现在站点范围内。
- 'production':红色条纹横幅。只出现在/admin中。
Configuration
您的settings.py支持以下设置:
- ENVI_ENVIRONMENT_KEY:表示用于搜索的键的字符串 ENVI_ENVIRONMENTS设置字典。默认为'local'。
- ENVI_ENVIRONMENTS:包含键值对的字典,由 映射到表示 环境定义。默认情况下,有4个built-in environments 可供选择。
- ENVI_ENVIRONMENT:当前环境。这可以定义为 显式(请参见Creating environments),否则将设置为 通过在中查找ENVI_ENVIRONMENT_KEY来对应字典 ENVI_ENVIRONMENTS字典。
Creating environments
可以使用以下字典结构创建环境:
CUSTOM_ENV={# Required for all subclasses of EnviBaseMiddleware."SHOW_IN_ADMIN":True,"SHOW_IN_SITE":True,# Only required for subclasses of EnviBaseTemplateMiddleware."CONTEXT":{# The contents of this dictionary will be passed to the template# being rendered. You can add anything you want here."CONTENT":"ENVIRONMENT: STAGING","COLOR_A":"#ffba1e","COLOR_B":"#dba11a",},}
然后,此环境定义可以是:
添加到ENVI_ENVIRONMENTS字典,并通过设置激活 将ENVI_ENVIRONMENT_KEY添加到相应的密钥。
ENVI_ENVIRONMENTS={"custom_key_1":CUSTOM_ENV,"custom_key_2":OTHER_CUSTOM_ENV,}ENVI_ENVIRONMENT_KEY="custom_key_1"
用于直接设置ENVI_ENVIRONMENT值。
ENVI_ENVIRONMENT=CUSTOM_ENV
Advanced usage
django-envi的实现使定制变得容易。
Extending via templates
待办事项:如何。
Extending via subclassing
待办事项:如何。
Changelog
Version | Description |
---|---|
0.2.1 | Bugfix to prevent adding the banner to AJAX requests. Thanks to @marksweb for the PR. Also adds backwards compatability for Django versions < 1.10. |
0.2 | Repackaged without unnecessary docs/images directory. All documentation can be found in README.rst. |
0.1.2 | Fixes reference to nonexistent template. Manifest issue. |
0.1.1 | Renamed to django-envi. |
0.1 | Initial version. |