初识Flask框架
Flask简介:
Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。
Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。
其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心。
Flask的环境搭建:
1. 创建虚拟环境
mkvirtualenv flask -p python3
2. 安装flask框架
pip install flask
编写第一个Flask程序:
1. 创建一个python文件,且名字不能为flask和关键字
2. 编写程序
# 1. 导包
from flask import Flask # 2. 创建Flask对象
# __name__:表示导包名字为当前文件名
app = Flask(__name__) # 3. 编写试图函数并设置路由
@app.route('/')
def index():
return 'index' # 运行flask程序
if __name__ == '__main__':
# host:IP
# port:端口
# bebug:True开启,False关闭
app.run()
Flask导入配置信息:
1. 使用配置文件
1. 创建配置文件config.ini,并编写配置
# 配置文件中的配置选项必须大写
DEBUG = True
2. 导入配置文件
# 1. 导包
from flask import Flask # 2. 创建Flask对象
# __name__:表示导包名字为当前文件名
app = Flask(__name__) # 导入配置文件
app.config.from_pyfile('config.ini') # 3. 编写试图函数并设置路由
@app.route('/')
def index():
return 'index' # 运行flask程序
if __name__ == '__main__':
# host:IP
# port:端口
# bebug:True开启,False关闭
app.run()
2. 使用配置类
1. 编写配置信息类
class Config(object):
'''配置类中的配置信息必须大写'''
DEBUG = True
2. 导入配置类
# 1. 导包
from flask import Flask # 2. 创建Flask对象
# __name__:表示导包名字为当前文件名
app = Flask(__name__) class Config(object):
'''配置类中的配置信息必须大写'''
DEBUG = True # 导入配置类
app.config.from_object(Config) # 3. 编写试图函数并设置路由
@app.route('/')
def index():
return 'index' # 运行flask程序
if __name__ == '__main__':
# host:IP
# port:端口
# bebug:True开启,False关闭
app.run()
3. 使用环境变量
1. 设置环境变量

2. 导入环境变量
# 1. 导包
from flask import Flask # 2. 创建Flask对象
# __name__:表示导包名字为当前文件名
app = Flask(__name__) # 导入环境变量
app.config.from_envvar('DEV') # 3. 编写试图函数并设置路由
@app.route('/')
def index():
return 'index' # 运行flask程序
if __name__ == '__main__':
# host:IP
# port:端口
# bebug:True开启,False关闭
app.run()
Flask启动方式
1. 服务器启动方式
直接在程序中编写app.run()方法然后运行即可。
2. 命令行启动方式
设置环境变量:
export FLASK_APP=文件名
启动命令:
flask run
可以添加选项参数
-p port
-h host
-- help
初识Flask框架的更多相关文章
- 初识Flask框架,以及Flask中的模板语言jinjia2和Flask内置的Session
一.web框架的对比 首先我们先来看下比较火的web框架 1.Django: 优点:大而全,所有组件都是组织内部开发高度定制化,教科书级别的框架 缺点:大到浪费资源,请求的时候需要的资源较高 2.Fl ...
- Flask(1)- 主流web框架、初识flask
一.Python 现阶段三大主流Web框架 Django.Tornado.Flask 对比 Django 主要特点是大而全,集成了很多组件(例如Models.Admin.Form等等), 不管你用得到 ...
- flask框架(一)——初识Flask
一.初识flask 1.什么是Flask:Flask是一个python编写的web框架,只是一个内核,默认依赖2个外部库:jinja2模板引擎和WSGI工具集--Werkzeug. 2.安装flask ...
- Flask 框架
装饰器知识回顾 http://www.cnblogs.com/0bug/p/7978595.html 普通装饰器格式: def wrapper(func): def inner(*args, **kw ...
- Flask框架 之 基本使用
初识Flask Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求 ...
- flask框架-上
flask简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权. Fla ...
- 初识Flask、快速启动
目录 一.初识Flask 1.1 什么是flask? 1.2 为什么要有flask? 二.Flask快速启动 一.初识Flask 1.1 什么是flask? Flask 本是作者 Armin Rona ...
- Flask 框架入门
Flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 安装 Flask 依赖两个外部库, We ...
- Flask框架获取用户IP地址的方法
本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最 ...
随机推荐
- Linux centos 常用的命令
Linux centos 下载命令:wget Linux centos 访问命令:vi Linux centos 插入命令:i Linux centos 保存退出: :wq Linux centos ...
- ios alamofire4.x网络框架url 中文问题
一种方式是把参数放到Parameters里面 request 增加 encoding:URLEncoding.default 就可以 还有中文在path上 比如 http://www.chao. ...
- 编译原理_P1002
. 词法分析 1.1 词法记号及属性 词法记号.模式.词法单元 记号名 词法单元列举 模式的非形式描述 if if 字符i,f for for 字符f,o,r relation < ...
- 系统学习javaweb重点难点2--.JavaScript中的正则对象简述和正则对象使用注意事项。
注意:只是简述,对正则对象的了解目前还不是很深刻,日后详细了解了再来修改. 正文: 正则对象 首先,我们要了解一下什么是正则对象: 正则表达式,又称规则表达式.(英语:Regular Expressi ...
- AJAX数据传输(原生js)
原生ajax写法 <!DOCTYPE html> <html lang=""> <head> <meta charset="UT ...
- android完整智能家居、备忘录、蓝牙配对、3D动画库、购物车页面、版本更新自动安装等源码
Android精选源码 app 版本更新.下载完毕自动自动安装 android指针式分数仪表盘 ANdroid蓝牙设备搜索.配对 Android 图片水印框架,支持隐形数字水印 android3D旋转 ...
- springboot学习笔记:2.搭建你的第一个springboot应用
1.开发环境 (推荐):jdk1.8+Maven(3.2+)+Intellij IDEA+windows10; 说明: jdk:springboot官方说的很明确,到目前版本的springboot(1 ...
- CF-552E-Two Teams
pro:给出n, k和长度为n的数组a, 两个人轮流取数1先取,设a[i]是当前数组中最大值,则取走a[i - k]到a[i + k]这段数,然后把a[i + k + 1]和后面的补到 a[i - k ...
- 二评北科团委:“斩首计划”进行时,其用心也毒
近日,在同学们和热心群众的共同努力下,各高校相继悬崖勒马,北大马会.北语新新青年.人大新光等进步社团均顺利注册.而北科团委倒行逆施,可谓一枝独秀,对于齐民学社的同学们的诉求,不仅不予以回应,反而采取表 ...
- java String、StringBuilder
Java中的String和StringBuilder类: 1.String对象是不可变的.每一个看起来修改了String值的方法,实际上都是创建了全新的String对象.代码示例如下: String ...