flask中的Configuration
flask中,我们需要用到很多配置。我们知道最简单的flask是:
from flask import Flask
app = Flask(__name__) @app.route('/')
def hello_world():
return 'Hello World!' if __name__ == '__main__':
app.run()

  

这就是一个完整的flask项目了,其他再大型的项目,核心和这个一模一样。
如果说知识返回一些字符串,比如“helloworld”,那么我们当然不必连接数据库,但是当我们要
存储大量数据的时候,就必须要连接数据库了。
from flask import Flask
app = Flask(__name__) @app.route('/')
def hello_world():
#一,连接数据库
# 二,建立关系app/models.py
#三,对数据库操作
return '数据库查询数据'
if __name__ == '__main__':
    app.run()

 

如果说只有一个视图函数,这样写当然可以,但是我们的项目不可能只有一个功能,也就不可能只有一个试图函数
那么我们每一个试图函数都这样连接数据库,对数据库操作,是不是太蠢了?
我们要追求对代码的复用率,因此我们把这些重复的部分写入一个单独的文本里,叫config.py  ,需要的时候,我们调用就可以了!
import config
from flask import Flask
app = Flask(__name__)
app.config.from_object(config)
@app.route('/')
def hello_world():
   # 连接数据库
return 'Hello World!' if __name__ == '__main__':
app.run()

  

这样以后,我们每次在试图函数中连接数据库的操作是
@app.route('/')
def hello_world():
  #导入配置,实例化配置类
return 'Hello World!' if __name__ == '__main__':
app.run()

  

flask中的Configuration为何这样写的更多相关文章

  1. flask 中使用蓝图将路由分开写在不同文件

    flask 若想将不同的路由写在不同的文件中(如将 user 对象的相关接口写在一个文件中,将 customer 对象的相关接口写在另一个文件中),可以使用蓝图来实现. 有关蓝图的定义:A Bluep ...

  2. Flask 中的 SQLAlchemy 使用教程

    Flask 是一个 python web micro framework.所谓微框架,主要是 flask 简洁与轻巧,自定义程度高.相比 django 更加轻量级. 之前一直折腾 django,得益于 ...

  3. Python flask中的配置

    当你开始学习Flask时,配置看上去是小菜一碟.你仅仅需要在config.py定义几个变量,然后万事大吉. 然而当你不得不管理一个生产上的应用的配置时,这一切将变得棘手万分. 你不得不设法保护API密 ...

  4. 第七篇 Flask 中路由系统以及参数

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  5. 第四篇flask中模板语言 jinja2

    Flask中默认的模板语言是Jinja2 首先我们要在后端定义几个字符串,用于传递到前端 STUDENT = {, 'gender': '中'}, STUDENT_LIST = [ {, 'gende ...

  6. flask框架----整合Flask中的目录结构

    一.SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import datetime from ...

  7. 第三篇 Flask 中的 request

    第三篇 Flask 中的 request   每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前 ...

  8. 第九篇 Flask 中的蓝图(BluePrint)

    第九篇 Flask 中的蓝图(BluePrint)   蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? ...

  9. Flask中的CBV

    Flask中的CBV 第一种 class Index(views.MethodView): methods = ['GET', 'POST'] decorators = [] def get(self ...

随机推荐

  1. JS案例经验二

    一 关键词:鼠标事件的触发 可以在函数中指定让鼠标事件自动触发,而不是必须要鼠标滑过才触发,例如: main.onmouseover(); // 可以把该语句看做是鼠标滑过的模拟动作 main是DOM ...

  2. linux通信之信号

    一. 信号介绍 1.1. 什么是信号 1.1.1. 信号是内容受限的一种异步通信机制 a. 之所以称之为受限是因为通信内容在OS已经规定,内容简单,单一(signal.h文件中定义好) b. 信号本质 ...

  3. Luogu P5470 [NOI2019]序列

    题目 可以直接贪心,但是用模拟费用流推的话会更轻松. 首先有一个显然的建图方式: \(S\)到\(0\)流量为\(k\),费用为\(0\). \(0\)到\(a_i\)流量为\(1\),费用为\(-a ...

  4. oracle管理基础知识

    1.oracle的安装 win下 linux下 2.内存和后台进程=实例 为何将oracle做的如此复杂呢 1.内存: --提高查询速度 --提升处理数据的速度 2.后台进程 --为了完成特定的服务, ...

  5. 一:jvm的五大内存区(内存结构)

    jvm五大内存区域(即jvm运行时数据区),描述的是类被加载时,经过解析后,存储到特定的数据区.方法区和堆是所有线程共享的,而栈和计数器是线程私有的.栈处理程序运行的问题,堆处理数据的存储问题.所以才 ...

  6. Redis数据类型及基本命令

    一.基础命令 提示:Redis不区分命令大小写 1.获得符合规则的键名列表 keys pattern    //pattern支持glob风格通配符格式 2.判断一个键是否存在 exists key  ...

  7. __bridge

    Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能.下面列举 ...

  8. R语言multiplot函数绘制多张图像

    必备数据包“Rmisc” 先准备好需要绘入的图像,以比如p1.p2表示, multiplot(p1, p2) 如果插入图像多,p1.p2.p3.p4,则需要规定图像排列顺序. multiplot(p1 ...

  9. MAKEDEV - 建立设备

    总览 (SYNOPSIS) cd dev; ./MAKEDEV -V cd dev; ./MAKEDEV [ -n ] [ -v ] update cd dev; ./MAKEDEV [ -n ] [ ...

  10. 图解Qt安装(Linux平台)

    http://c.biancheng.net/view/3886.html Linux 发行版虽然众多,但 Qt 安装过程大同小异,本节以 CentOS 7 为例来演示 Qt 的安装. 在<Qt ...