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连接阿 ...
随机推荐
- linux 文件检索操作
linux命令太多了,作为一个后端开发人员,常用的也就这几个 uname -a 查看版本 tail tail -f /data/wealth-consignment-service/logs/stat ...
- 手动实现一个简易版SpringMvc
版权声明:本篇博客大部分代码引用于公众号:java团长,我只是在作者基础上稍微修改一些内容,内容仅供学习与参考 前言:目前mvc框架经过大浪淘沙,由最初的struts1到struts2,到目前的主流框 ...
- spring的RestTemplate使用指南
前言:现在restful接口越来越广泛,而如今很多接口摒弃了传统的配置复杂的webService开发模式,在java领域只需要很简单的springMvc就可以声明为一个控制器,再加上service层, ...
- openssl安装相关软件
出现:error: openssl/md5.h: No such file or directory 原因是libssl-dev 没有安装,执行: sudo apt-get install libss ...
- swift4.0闭包
http://blog.csdn.net/bddzzw/article/details/78276054
- su对环境变量做了什么
服务器是ubuntu12.04 用一个账户app,使用su - app得到的环境变量和直接ssh登录的环境变量不同. 导致su - app,无法执行ifconfig su - app 的环境变量 /u ...
- Foxmail安装和登录
Foxmail安装和登录... ============================== 下载Foxmail客户端:http://www.foxmail.com/ ================ ...
- Jupyter生成中文PDF的Notebook
修改模板文件,将article.tplx文件中的\documentclass[11pt]{article}改为\documentclass[11pt]{ctexart} Linux下的文件路径一般在: ...
- mybatis 热部署xml文件(spring boot和springmvc两种方式)
参考:http://thinkgem.iteye.com/blog/2304557 步骤:1.创建两个java类 (1)MapperRefresh.java :用于刷新mapper (2)SqlS ...
- HDU 5901 Count primes 大素数计数
题意:计算1~N间素数的个数(N<=1e11) 题解:题目要求很简单,作为论文题,模板有两种 \(O(n^\frac{3}{4} )\),另一种lehmer\(O(n^\frac{2}{3})\ ...