(仅)python应用程序的超简单设置管理

converge的Python项目详细描述


…内容:
…部门编号:



这是什么?
——

**Converge**可以帮助您合并设置并加载所需的应用程序设置。

…原始::html

<;a href="https://asciinema.org/a/155855?autoplay=1&;speed=3">;<;img src="https://asciema.org/a/155855.png"/>;<;/a>;




————————————————————————————代码::bash

默认配置。py
----
服务器端口=8000
域=example.com
管理电子邮件=admin@example.com


开发设置。py
----
服务器端口=9000


代码::python

import settings
print(settings.server\u port)9000
print(settings.domain)example.com
print(settings.get('var\u that\u不存在'))none




install
~代码::bash


。convergerc
----

。convergerc文件帮助converge选择应用程序模式,然后加载正确的设置文件。

支持的指令
~~~~~~~~~~~~~~~~~~~~~~~~~~~

所有指令都是可选的。

**app_mode**


有效值是

-prod
-dev
-test
-staging
-beta

可用)

**设置目录**


如果您的设置文件位于不同的目录中,请使用设置目录指向正确的路径。

…注意:请记住将初始化py放在设置目录中。



**git\u settings\u repo**

git存储库中的应用程序设置也受支持。如果指定了这种配置,Git存储库被克隆到"settings目录"。

**git设置子目录**


-如果您
-使用同一Git存储库来承载多个应用程序的配置,并且
-假设设置文件位于不同的子目录中

示例





我的git repo/
='git@github.com:shon/converge test settings.git'
git_settings_subdir='myapp1'

>在这种情况下,myapp1/中的所有\*_settings.py文件都将复制到appsettings。


**示例**




。converge
--

app u mode='test'
设置目录='settings'
git_settings_repo='git@github.com:shon/converge test settings.git'
git_settings_subdir='myapp1'



>支持的设置文件
-

-默认值:默认设置。py

-模式
-生产:prod_settings.py
-开发:dev_settings.py
-测试:test_settings.py
-登台:登台设置。py
-测试:beta_settings.py

-部署特定:站点设置。py


它可以包含有效的python代码,但是这里有一些用户指导原则

-使用模块变量进行全局应用程序范围的配置
-在命名设置变量时使用大写字母
-对于值,首选基本python数据类型,如字符串、整数,
元组
-例如``服务器端口=1234`
-避免复杂的python操作
-对配置部分使用简单类
…代码::python

class db:
host='db.example.com'
port=1234

-使用简单的字符串操作避免重复
…代码::python

base_domain='example.com'
api_url='api.'+base_domain``


重写设置
---------


=9999``

**站点设置.py**

``服务器端口=8888``


>覆盖部分设置
-


>示例:

**默认设置.py**

……代码::python

db类:
host='db.example.com'
port=1234


**站点设置.py**


…代码::python

db.port=1111

(稍微)高级用法
----------
,以防将所有settings.py文件保存在一个目录中。在.convergerc文件中使用"settings\u dir"指令。


示例
~~~~~~



……代码::bash

>;cat.convergerc

app_mode='prod'
settings_dir='settings/fat_server'


|--服务器1/

--默认设置。py
--生产设置。py

--服务器2/
--默认设置。py
--生产设置。py



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView