在python的WEB框架Flask中使用多个配置文件的解决方法
有些框架本身就支持多配置文件,例如Ruby On Rails,nodejs下的expressjs。python下的Flask虽然本身支持配置文件管理, 但单纯使用from_object和from_envvar却不是那么方便。有没有更好的办法?
答案是Flask-Environments这个包。它能通过FLASK_ENV环境变量自动选择开发环境配置或生产环境配置。使用之前要先安装:
代码如下:
$ sudo pip install Flask-Environments
然后修改config.py,将公用配置和默认配置写入Config类,针对环境的特殊配置写入各个环境的类:
代码如下:
# config.py
import os
class Config(object):
DEBUG = True
BASEDIR = os.path.abspath(os.path.dirname(__file__))
HOST = '0.0.0.0'
PORT = '8000'
class Development(Config): # inherit from Config
pass
class Production(Config):
DEBUG = False
HOST = '127.0.0.1
PORT = 14000
from flask import Flask
from flask_environments import Environments
app = Flask(__name__)
env = Environments(app)
env.from_object('config')
这样默认通过app.run()方式启动时会加载开发配置。若要启动生产环境,则要先设置环境变量FLASK_ENV=PRODUCTION:
代码如下:
$ FLASK_ENV=PRODUCTION gunicorn -b 127.0.0.1:14000 myapp:app
相关推荐
-
python用ConfigObj读写配置文件的实现代码
发现一个简单而又强大的读写配置文件的lib,http://www.voidspace.org.uk/python/configobj.html.个人觉得最大的亮点在于自带的格式校验功能,并且支持复杂的嵌套格式,而且使用起来也相当的简便. 来看例子吧.读文件 复制代码 代码如下: from configobj import ConfigObj config = ConfigObj(filename) # value1 = config['keyword1']
-
python读写ini配置文件方法实例分析
本文实例讲述了python读写ini配置文件方法.分享给大家供大家参考.具体实现方法如下: import ConfigParser import os class ReadWriteConfFile: currentDir=os.path.dirname(__file__) filepath=currentDir+os.path.sep+"inetMsgConfigure.ini" @staticmethod def getConfigParser(): cf=ConfigParser
-
python实现数通设备tftp备份配置文件示例
环境:[wind2003[open Tftp server] + virtualbox:ubuntn10 server]tftp : Open TFTP Server ubuntn python + pyexpect 采用虚拟机原因: pyexpect 不支持windows 注:原打算采用secrueCrt 脚本编写,因实践中发现没有使用linux下pexpect易用,灵活 ,之前习惯使用expect,因tcl[语法]没有python易用.易维护 编写些程序原因:最近出了比较严重故障:因
-
Python中使用ConfigParser解析ini配置文件实例
ini文件是windows中经常使用的配置文件,主要的格式为: 复制代码 代码如下: [Section1] option1 : value1 option2 : value2 python提供了一个简单的模块ConfigParser可以用来解析类似这种形式的文件.对于ConfigParser模块可以解析key:value和key=value这样的类型,对于#和;开头的行将会自动忽视掉.相当于注释行.常用的函数: 复制代码 代码如下: ConfigParser.RawConfigParser()
-
使用python装饰器验证配置文件示例
根据不同配置文件调用不同的验证函数检查输入.可以根据需求更改验证函数的逻辑. 复制代码 代码如下: def VerifyData(func): def VerifyInt(data): assert(int(data) > 0) def VerifyString(data): assert(len(data) > 10) def inner(*args, **kvargs): print args print kvargs assert(len(arg
-
Python配置文件解析模块ConfigParser使用实例
一.ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号"[ ]"内包含的为section.section 下面为类似于key-value 的配置内容. 复制代码 代码如下: [db] db_host = 127.0.0.1 db_port = 22 db_user = root db_pass = rootroot [concurrent] thread = 10 processor = 20 中括号"
-
Python实现配置文件备份的方法
本文实例讲述了Python实现配置文件备份的方法.分享给大家供大家参考.具体如下: 这里平台为Linux: #!/usr/bin/python #Author:gdlinjianying@qq.com import os import time source = ['/etc/sysconfig/network-scripts', '/etc/sysconfig/network', '/etc/resolv.conf'] target_dir = '/opt/' target = target_
-
Python使用自带的ConfigParser模块读写ini配置文件
在用Python做开发的时候经常会用到数据库或者其他需要动态配置的东西,硬编码在里面每次去改会很麻烦.Python自带有读取配置文件的模块ConfigParser,使用起来非常方便. ini文件 ini配置文件格式: 读取配置文件: import ConfigParser conf = ConfigParser.ConfigParser() conf.read('dbconf.ini') # 文件路径 name = conf.get("section1", "name&quo
-
python实现的解析crontab配置文件代码
#/usr/bin/env python #-*- coding:utf-8 -*- """ 1.解析 crontab 配置文件中的五个数间参数(分 时 日 月 周),获取他们对应的取值范围 2.将时间戳与crontab配置中一行时间参数对比,判断该时间戳是否在配置设定的时间范围内 """ #$Id $ import re, time, sys from Core.FDateTime.FDateTime import FDateTime def
-
Python读写配置文件的方法
本文实例讲述了Python读写配置文件的方法.分享给大家供大家参考.具体分析如下: python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案,以下的文章就是对python 读写配置文件的具体方案的介绍,相信对大家学习Python有所帮助. python 读写配置文件ConfigParser模块是python自带的读取配置文件的模块.通过他可以方便的读取配置文件. 这里就来简单介绍一下python 读写配置文件的方法. 配置文件.顾名思议就是存放配置信息的文件
随机推荐
- 使用BAT命令关闭:135端口、139端口、445端口等
- 详解Vue 方法与事件处理器
- DOS命令批量删除文件及制作该命令的批处理命令详解
- 如何开启mysql中的严格模式
- 详解mybatis foreach collection示例
- iOS中关于信鸽推送的使用demo详解
- java将图片至暗的实现方法
- php dirname(__FILE__) 获取当前文件的绝对路径
- PHP与Go语言之间的通信详解
- mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法
- MySQL查询语句大全集锦
- JavaScript检测浏览器cookie是否已经启动的方法
- 利用Mongoose让JSON数据直接插入或更新到MongoDB
- JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
- php+flash+jQuery多图片上传源码分享
- jQuery实现textarea自动增长宽高的方法
- jQuery寻找n以内完全数的方法
- Document 对象的常用方法
- java实现高效的枚举元素集合示例
- Win7、win2008中让IIS7支持asp的方法