Python Flask 配置文件
1. 什么是配置文件?
就是当程序调用的一些参数,文件路径,方法或者类放到一个文件中,
当下次需要修改的一个参数的时候,不用再从所有关联的程序中找到该参数挨个修改,
比较繁琐。像Django中,程序启动的时候需要加载setting.py文件,该文件配置包含
中间件,数据库链接,文件路径,静态文件模板路径等参数,当视图函数链接数据库或
创建静态文件的时候根据配置文件找到参数即可进行链接或创建文件等等操作,修改
也是如此,只要找到参数修改配置参数即可。
2. 使用配置文件
from flask import Flask,session,current_app # 创建配置
app = Flask(__name__) app.secret_key ='sdfsdfsdf' # 方式一:
# app.config['SESSION_COOKIE_NAME'] = 'session_lvning' #
# 方式二:
# app.config.from_pyfile0('settings.py')
# 方式三:
# import os
# os.environ['FLAKS-SETTINGS'] = 'settings.py'
# app.config.from_envvar('FLAKS-SETTINGS')
# 方式四:推荐使用
app.config.from_object('settings.DevConfig') @app.route('/index',endpoint='xx',methods=['GET'])
def index():
print(current_app.config['DB'])
session['xx3'] = 123
return "xxx" if __name__ == '__main__':
# app.__call__
app.run()
3. 配置文件
class BaseConfig(object):
NNN = 123 class TestConfig(BaseConfig):
DB = '127.0.0.1' class DevConfig(BaseConfig):
DB = '192.168.1.1' class ProConfig(BaseConfig):
DB = '47.18.1.1'
4. 项目案例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:supery import importlib
from flask import Flask,request,current_app app = Flask(__name__) app.config.from_object('setting.BaseConfig') @app.route('/index',endpoint='index',methods=['GET'])
def index():
print(current_app.config['MESSAGE_CLASSES'])
setting = current_app.config['MESSAGE_CLASSES']
for cls_path in setting:
module_path,class_name = cls_path.rsplit('.',maxsplit=1)
m = importlib.import_module(module_path)
obj = getattr(m,class_name)()
obj.send('哇呀呀','import_model','906906659@qq.com','supery007',)
return '' if __name__ == '__main__':
app.run()
5. MSG配置参数
class BaseConfig(object):
NNN = 123
MESSAGE_CLASSES = [
'utils.message.email.Email',
'utils.message.msg.Msg',
'utils.message.wx.WeChat',
'utils.message.dingding.DingDing',
]
6. 测试结果

Python Flask 配置文件的更多相关文章
- [Python][flask][flask-login]关于flask-login中各种API使用实例
本篇博文跟上一篇[Python][flask][flask-wtf]关于flask-wtf中API使用实例教程有莫大的关系. 简介:Flask-Login 为 Flask 提供了用户会话管理.它处理了 ...
- Taffy Web开发,Python Flask实践详解
1. 前言 最近为Taffy自动化测试框架写了个页面,主要实现了用例管理.执行,测试报告查看管理.发送邮件及配置等功能. 2. 实现细节 页面使用Python Flask +Bootstrap开发,还 ...
- python Flask
python Flask Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请 ...
- 使用Nginx+Uwsgi部署Python Flask项目
第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...
- python flask实现小项目方法
本文目的是为了完成一个项目用到的flask基本知识,例子会逐渐加深.最好对着源码,一步一步走. 下载源码,运行 pip install -r requirements.txt 建立环境 python ...
- 个人学期总结及Python+Flask+MysqL的web建设技术过程
一个学期即将过去,我们也迎来了2018年.这个学期,首次接触了web网站开发建设,不仅是这门课程,还有另外一门用idea的gradle框架来制作网页. 很显然,用python语言的flask框架更加简 ...
- Taffy自动化测试框架Web开发,Python Flask实践详解
1. 前言 最近为Taffy自动化测试框架写了个页面,主要实现了用例管理.执行,测试报告查看管理.发送邮件及配置等功能. 本页面适用所有基于taffy/nose框架编写的自动化测试脚本,或基于un ...
- Python Flask高级编程
第1章 课程导语介绍课程的内容1-1 开宗明义 试看1-2 课程维护与提问 第2章 Flask的基本原理与核心知识本章我们首先介绍Python官方推荐的最佳包与虚拟环境管理工具:Pipenv.接着我们 ...
- 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...
随机推荐
- 洛谷 P4964 绫小路的特别考试 解题报告
P4964 绫小路的特别考试 题目背景 这世界上「胜利」便是一切.无关乎过程. 要付出多少牺牲都无所谓.只要最后我「胜出」那就行了. 题目描述 一场新的特别考试来临了,这次的考试内容是(wan e d ...
- python----测试04.18
# py4测试题 # 1.8 << 2 # 等于? 8转化成二进制:1000 向左移动2位: 0010 0000 转化成十进制:32 # 2.通过内置函数计算5除以2的余数 print(d ...
- 获取指定IP地址对应的物理位置
# -*- coding: utf-8 -*- import requests def get_physical_location(ip): url = 'http://ip.taobao.com/s ...
- jsp弹出新窗口代码
1.最基本的弹出窗口代码其实代码非常简单: <SCRIPT LANGUAGE="javascript"> <!-- window.open (page.html) ...
- apache的作用和tomcat的区别
经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总 ...
- bzoj 1113 [Poi2008]海报PLA 单调栈
[Poi2008]海报PLA Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1304 Solved: 896[Submit][Status][Dis ...
- HDU1832 二维线段树求最值(模板)
Luck and Love Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- [技巧篇]02.关于MyBatis存取图片到MySQL数据Blob字段
- ZooKeeper文档(二)
ZooKeeper:因为协调的分布式系统是一个动物园 ZooKeeper对分布式应用来说是一个高性能的协调服务.它暴露通常的服务-比如命名,配置管理,同步,和组服务-用一种简单的接口,所以你不用从头开 ...
- MyBatis框架的使用及源码分析(七) MapperProxy,MapperProxyFactory
从上文<MyBatis框架中Mapper映射配置的使用及原理解析(六) MapperRegistry> 中我们知道DefaultSqlSession的getMapper方法,最后是通过Ma ...