Flask框架配置与调试操作示例


Posted in Python onJuly 23, 2018

本文实例讲述了Flask框架配置与调试操作。分享给大家供大家参考,具体如下:

配置管理

复杂的项目需要配置各种环境。如果设置项很少,可以直接硬编码进来,比如下面的方式:

app = Flask(__name__)
app.config['DEBUG'] = True

app.configflask.config.Config类的实例,继承自Python内置数据结构dict,所以可以使用update方法:

app.config.update(
  DEBUG = True,
  ...
)

app.config内置的全部配置变量可以参看Builtin Configuration Values。如果设置选项很多,想要集中管理设置项,应该将他们存放到一个文件里面。app.config支持多种更新配置的方式。假设现在有个叫做settings.py的配置文件,其中的内容如下:

A = 1

可以选择如下三种方式加载:

通过配置文件加载

# 通过模块名的字符串
app.config.from_object('settings')

或者:

import settings
app.config.from_object(settings)

通过文件名字加载。但是不限于只使用.py后缀的文件名

# slient=True该文件不存在时不抛异常,返回False,默认是会抛出异常
app.config.from_pyfile('settings.py',slient=True)

调试模式

虽然app.run()这样的方式适用于启动本地的开发服务器,但是每次修改代码后都要手动重启的话,既不方便也不够优雅。如果启用了调试模式,服务器会在代码修改后自动重新载入,并在发生错误时提供一个能获得错误上下文及可执行代码的调试页面。

有两种途径来启动调试模式:

直接在应用对象上设置:

app.debug = True
app.run()

作为run的参数传入:

app.run(debug=True)

需要注意,开启调试模式会成为一个巨大的安全隐患,因此他绝对不能用于生产环境中。

希望本文所述对大家基于Flask框架的Python程序设计有所帮助。

Python 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
深入浅析python继承问题
May 29 Python
目前最全的python的就业方向
Jun 05 Python
python中的变量如何开辟内存
Jun 26 Python
使用tensorflow实现线性svm
Sep 07 Python
Python过滤txt文件内重复内容的方法
Oct 21 Python
Face++ API实现手势识别系统设计
Nov 21 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
python取余运算符知识点详解
Jun 27 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
python+django+rest框架配置创建方法
Aug 31 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 #Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 #Python
Flask框架Flask-Login用法分析
Jul 23 #Python
Django中的文件的上传的几种方式
Jul 23 #Python
flask中的wtforms使用方法
Jul 21 #Python
详解flask表单提交的两种方式
Jul 21 #Python
python实现周期方波信号频谱图
Jul 21 #Python
You might like
真正的ZIP文件操作类(php)
2007/07/21 PHP
php 进度条实现代码
2009/03/10 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
javascript读写json示例
2014/04/11 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
js实现返回顶部效果
2017/03/10 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
Python修改列表值问题解决方案
2020/03/06 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
养殖人员的创业计划书范文
2013/12/26 职场文书
一年级语文教学反思
2014/02/13 职场文书
四下基层实施方案
2014/03/28 职场文书
新年晚会开场白
2015/05/29 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
python glom模块的使用简介
2021/04/13 Python
Python基础之操作MySQL数据库
2021/05/06 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS