引言

本文简单汇总Flask框架几大基础功能,包括:

  • 路由系统
  • 模板
  • 数据库
  • 几种常用Flask库

一个简单的Flask事例

Flask是一个基于Python,依赖Jinja2模板和WSGI服务的框架。当我们访问一个URL时,浏览器发出HTTP请求,WSGI接收到我们的请求,交给Flask框架提供的一系列功能来处理请求,并返回HTTP响应给浏览器(客户端)。

与Django相比,Flask作为一个微框架,不会面面俱到,但可以通过安装扩展来增加提供的服务,可定制性很强。

下面是一个简单的Flask事例,当我们访问http://127.0.0.1:5000时,浏览器会显示hello flask

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
return '<h1>hello, flask</h1>' if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000)

上述程序我们创建了一个app的Flask实例,将根目录与index路由函数函数绑定,并运行在localhost:5000上。

运行上述程序,我们可以直接python 程序名运行。如果用于开发环境,还有其他方法来运行,Flask源码里面的注释写是很清楚,需要设置FLASK_DEBUG环境变量为程序名,然后就可以通过flask run来运行该服务器。

路由系统

上面的程序中,@app.route('/')是一个装饰器。python里面装饰器常常用来将被装饰的函数注册为某事件的回调函数。具体来说,当Web浏览器请求/时,会触发index这个函数,并将index函数的返回值作为响应返回给浏览器。不同的URL可以有相同的视图处理函数,换句话说,一个函数可以对应多个URL。这在Django的MTV模式中,对应其中的views。

常用的路由系统有以下五种:

以下是对应关系:

DEFAULT_CONVERTERS = {
'default': UnicodeConverter,
'string': UnicodeConverter,
'any': AnyConverter,
'path': PathConverter,
'int': IntegerConverter,
'float': FloatConverter,
'uuid': UUIDConverter,
}

可以看到不支持正则表达式。关于这点,可以参考Segment Fault的回答。

To Be continue

Flask框架基础功能的更多相关文章

  1. 六、EnterpriseFrameWork框架基础功能之权限管理

    回<[开源]EnterpriseFrameWork框架系列文章索引> 从本章开始进入框架的第二块内容“EnterpriseFrameWork框架的基础功能”,包括:权限管理.字典数据管理. ...

  2. Flask框架基础--第一篇

    1.flask框架和其他几种框架的优缺点对比 Django : 优点 - 大而全所有组件都是有组织内部开发高度定制化 教科书级别的框架 缺点 - 大到浪费资源,请求的时候需要的资源较高 Flask : ...

  3. flask框架基础入门一

    首先:flask是一个基于Werkzeug,Jinja2的一个python的微服务框架. 安装flask框架: pip install flask 一个最小的最简单的flask应用: from fla ...

  4. flask框架基础

    一 web的一些框架介绍 Flask:短小精悍,内部没有包含多少组件,但是第三方的组件是非常丰富的. Django:django是一个重武器,内部包含了非常多的组件:orm,form,modelFor ...

  5. 七、EnterpriseFrameWork框架基础功能之字典数据配置管理

    框架中的“通用字典数据配置管理”主要解决的问题是,所有的行业软件给客户实施第一步一般都是基础数据的维护,一个系统的字典是少不了的,涉及业务范围越广字典就越多,如果每一个字典数据都做一个界面来进行维护数 ...

  6. Flask框架 之 功能详解

    浏览目录 配置文件 路由系统 视图 请求相关 响应 模板渲染 session 闪现 中间件 蓝图(blueprint) 特殊装饰器 配置文件 知识点 给你一个路径 “settings.Foo”,可以找 ...

  7. Flask框架之功能详解

    1|0浏览目录 配置文件 路由系统 视图 请求相关 响应 模板渲染 session 闪现 中间件 蓝图(blueprint) 特殊装饰器 1|1配置文件 知识点 给你一个路径 "settin ...

  8. 一起写框架-MVC框架-基础功能-Date类型数据绑定(七)

    实现功能 表单请求传递的数据,格式为以下格式的日期时间数据. (1):yyyy-MM-dd hh:mm:ss (2):yyyy-MM-dd 执行方法可以使用Date类型接收. 实现思路 1.获得表单字 ...

  9. 八、EnterpriseFrameWork框架基础功能之自定义报表

    本章写关于框架中的“自定义报表”,类似上章“字典管理”也是三部分功能组成,包括配置报表.对报表按角色授权.查看报表:其核心思想就是实现新增一个报表而不用修改程序代码.不用升级,只需要编写一个存储过程, ...

随机推荐

  1. pycharm激活码,亲测有效

    PyCharm是由著名的JetBrains公司所打造的一款功能强大的Python IDE,它具有一般IDE都具备的功能, 并且使用起来非常方便好用.最近需求PyCharm激活码的网友非常多,就在这里给 ...

  2. [杂谈-随口一说]Keep learning!

    随口一说 好些日子没有发表公号文章了, 想说,最近真是忙呢,有时候觉得真忙,有时候还觉得忙的脑子一团乱麻. 原计划的公众号文章将近一个月了一篇没写,时间,都去哪儿了? 周末自己搬家,工作中的任务,学习 ...

  3. Life In Changsha College - SQA计划和系统测试规程

    一. SQA计划 (1)     对软件进行测试,保证软件不出问题: (2)     项目需要符合IEEE.ISO等软件工程标准 (3)     软件拥有基本的流程图.类图.数据流图等 (4)    ...

  4. 子串 NOIP2015 D2T2 luoguP2679 字符串处理+DP

    AC通道! 题目大意: 给定两个长度分别为 n 和 m 的字符串 A 和 B,选取 A 中的 k 个子串,使这 k 个子串按照先后顺序连接起来后等于 B 子串.   输入输出样例 输入 #1 6 3 ...

  5. MANIFEST.MF是个什么?

    MANIFEST.MF是个什么? 写这篇文件主要记录JRA文件里面到底是什么?然后MANIFEST.MF又是什么?Springboot 如何只有Main方法就可以运行的? Springboot项目打包 ...

  6. CSS 风车(花瓣)旋转动画圆角

    这是一个综合的案例,用到了transition(动画,动作在单位时间内完成),transform(旋转),border-radius(圆角),absolute(定位),linear-gradient( ...

  7. PHP获取临时文件的目录路径

    PHP获得临时文件的文件目录相对路径,能够 根据tempnam()和sys_get_temp_dir()函数来完成. 下边我们运用简单的代码实例,给大伙儿介绍PHP获得临时文件的文件目录相对路径的方式 ...

  8. 非阻塞赋值(Non-blocking Assignment)是个伪需求

    https://mp.weixin.qq.com/s/mH84421WDGRb7cuU5FEFIQ Verilog的赋值很是复杂,包括: 1. Continuous assignment; 2. Pr ...

  9. Sublime Text3 注册码(Windows/Build 3176版本)| 开发工具

    转自:dushusir.com 1.修改hosts文件(路径:C:\Windows\System32\drivers\etc): 0.0.0.0 www.sublimetext.com 0.0.0.0 ...

  10. [统计信息系列7] Oracle 11g的自动统计信息收集

    (一)统计信息收集概述 在Oracle 11g中,默认有3个自动任务,分别是:自动统计信息收集.SQL调优顾问.段空间调整顾问,查看方法如下: SQL> SELECT CLIENT_NAME,T ...