在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中使用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读写配置文件的方法
本文实例讲述了Python读写配置文件的方法.分享给大家供大家参考.具体分析如下: python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案,以下的文章就是对python 读写配置文件的具体方案的介绍,相信对大家学习Python有所帮助. python 读写配置文件ConfigParser模块是python自带的读取配置文件的模块.通过他可以方便的读取配置文件. 这里就来简单介绍一下python 读写配置文件的方法. 配置文件.顾名思议就是存放配置信息的文件
-
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实现的解析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读写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实现配置文件备份的方法
本文实例讲述了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用ConfigObj读写配置文件的实现代码
发现一个简单而又强大的读写配置文件的lib,http://www.voidspace.org.uk/python/configobj.html.个人觉得最大的亮点在于自带的格式校验功能,并且支持复杂的嵌套格式,而且使用起来也相当的简便. 来看例子吧.读文件 复制代码 代码如下: from configobj import ConfigObj config = ConfigObj(filename) # value1 = config['keyword1']
-
python实现数通设备tftp备份配置文件示例
环境:[wind2003[open Tftp server] + virtualbox:ubuntn10 server]tftp : Open TFTP Server ubuntn python + pyexpect 采用虚拟机原因: pyexpect 不支持windows 注:原打算采用secrueCrt 脚本编写,因实践中发现没有使用linux下pexpect易用,灵活 ,之前习惯使用expect,因tcl[语法]没有python易用.易维护 编写些程序原因:最近出了比较严重故障:因
随机推荐
- Java进阶学习:jar打包详解
- 百度HI QQ和MSN 阿里旺旺贸易通MSN在线客服在线聊天代码
- javascript中动态函数用法实例分析
- Thinkphp中的curd应用实用要点
- PHP数据库编程之MySQL优化策略概述
- php编程实现追加内容到txt文件中的方法
- Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
- Android应用程序(APK)的编译打包过程
- 分析PHP中单双引号的误区和双引号小隐患
- shell脚本函数:控制颜色、定位、居中显示的代码
- 那些年,我还在学习asp.net(二) 学习笔记
- URL编码转换,escape() encodeURI() encodeURIComponent()
- centos 6.5 oracle开机自启动的环境配置详解
- 浅谈java 数据处理(int[][]存储与读取)
- Java连接并操作Sedna XML数据库的方法
- 使用UITextField限制输入金额是正确小数
- 浅谈C#各种数组直接的数据复制/转换
- 基于C/C++时间函数的使用详解
- Android实现弹出登陆框的方案
- python 正确保留多位小数的实例