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连接阿 ...
随机推荐
- XXE漏洞攻击与防御整理
一.漏洞原理 1.DTD 文档类型定义(DTD)可定义合法的XML文档构建模块.它使用一系列合法的元素来定义文档的结构.DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用. 内部的 DOC ...
- Semphore信号量的使用
前言:在多线程环境的同步中,我们为了让每个线程具有同步的作用,经常采用synchronize.reetrantlock等同步手段进行上锁,以便在同一时间只能有一个线程具有访问变量和读写变量的权力.然而 ...
- JS判断当前DOM树是否加载完毕
/** * @function Monitor whether the document tree is loaded. * @param fn */function domReady(fn) { i ...
- java中静态变量与静态方法的继承(转)
总结: 1.静态变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量.而子类也属于超类,比如说Manage extends Employee,则Manage也是一个Employee,所以子 ...
- 《python核心编程》--读书笔记 第21章 数据库编程
准备:今天拿笔记本装了mysql,这样就能在不同地方用其他电脑远程访问同一个数据库了. python安装MySQLdb模块:http://www.codegood.com/downloads. 21. ...
- hdu 1166线段树 单点更新 区间求和
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- syslog大小限制
位置 /etc/logrotate.d/rsyslog 相关配置信息察看man logrotate size k/M/G /var/log/syslog { rotate daily missingo ...
- STM32串口发送第一个字符丢失解决之道
stm32用printf函数重定向到串口USART1发现第一个字符没打印出来具体如下: 刚开始修改fputc函数如下: int fputc(int ch,FILE *f){USART_SendData ...
- git merge与git rebase
文章源:https://blog.csdn.net/wh_19910525/article/details/7554489 git merge是用来合并两个分支的. git merge b # 将b分 ...
- MEF——.NET中值得体验的精妙设计
摘要:.NET 是 Microsoft XML Web services 平台.MEF是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的 ...