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框架的更多相关文章

  1. 初识Flask框架,以及Flask中的模板语言jinjia2和Flask内置的Session

    一.web框架的对比 首先我们先来看下比较火的web框架 1.Django: 优点:大而全,所有组件都是组织内部开发高度定制化,教科书级别的框架 缺点:大到浪费资源,请求的时候需要的资源较高 2.Fl ...

  2. Flask(1)- 主流web框架、初识flask

    一.Python 现阶段三大主流Web框架 Django.Tornado.Flask 对比 Django 主要特点是大而全,集成了很多组件(例如Models.Admin.Form等等), 不管你用得到 ...

  3. flask框架(一)——初识Flask

    一.初识flask 1.什么是Flask:Flask是一个python编写的web框架,只是一个内核,默认依赖2个外部库:jinja2模板引擎和WSGI工具集--Werkzeug. 2.安装flask ...

  4. Flask 框架

    装饰器知识回顾 http://www.cnblogs.com/0bug/p/7978595.html 普通装饰器格式: def wrapper(func): def inner(*args, **kw ...

  5. Flask框架 之 基本使用

    初识Flask Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求 ...

  6. flask框架-上

    flask简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权. Fla ...

  7. 初识Flask、快速启动

    目录 一.初识Flask 1.1 什么是flask? 1.2 为什么要有flask? 二.Flask快速启动 一.初识Flask 1.1 什么是flask? Flask 本是作者 Armin Rona ...

  8. Flask 框架入门

    Flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 安装 Flask 依赖两个外部库, We ...

  9. Flask框架获取用户IP地址的方法

    本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最 ...

随机推荐

  1. BTree非递归

    preorder void PreOrder(BTNode* b) { BTNode* p = b; SqStack* st; InitStack(st); if (b != NULL) { Push ...

  2. Redis哨兵模式高可用部署和配置

    一.Redis 安装配置 1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压安装包 tar -zxv ...

  3. 分享几个4412开发板新录制的视频,不是VIP也能看

    如果能点个赞就更好啦 iTOP4412开发板介绍https://www.bilibili.com/video/av74453392 iTOP4412开发板系统编程前言https://www.bilib ...

  4. ibatis in语句参数传入方法

    第一种:传入参数仅有数组        <select id="GetEmailList_Test"  resultClass="EmailInfo_"& ...

  5. 通俗易懂JSONP讲解

    原文地址:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html JSON的格式或者叫规则: JSON能够 ...

  6. Yii框架的学习指南(策码秀才篇)1-2 一步步学习yii framework

    我也是新手,不过之前学习了tp和ci框架,所以尝鲜想看看yii到底有多强大. 如何新建一个webapp(网站应用)呢,下面是2个步骤: 1. cmd 切换到htdocs下面的yii目录下的framew ...

  7. Part-Appium-1

    1.安装node > 下载二进制文件,解压后,配置到环境变量 https://nodejs.org/download/release/latest/ > vim ~/.bashrc,exp ...

  8. LeetCode No.70,71,72

    No.70 ClimbStairs 爬楼梯 题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. ...

  9. 简化Java编程的法宝,让工作更高效

    如果你没有看过之前的文章,也不要紧,这并不影响你对接下来的内容的理解,不过为了照顾直接看到第二篇的同学,还是有必要介绍一下HuTool的引入方式. 在项目的pom.xml的dependencies中加 ...

  10. 爬虫之使用requests爬取某条标签并生成词云

    一.爬虫前准备 1.工具:pychram(python3.7) 2.库:random,requests,fake-useragent,json,re,bs4,matplotlib,worldcloud ...