一、Flask介绍

Flask是一个基于Werkzeug,Jinja 2 轻量级的web开发框架, 使用Python开发, 上手简单。

二、安装Flask

三、第一个Flask程序

1、编写app.py文件内容如下:

2、启动程序

浏览器访问http://localhost:9001/查看显示内容

程序说明:

Line 4: 导入Flask类

Line :7 创建Flask实例, 第一个参数为模块或者包的名称, 模块名称会根据是否单独应用而变化因此可以选择使用name变量动态指定, 该参数与Flask查找static和template文件位置有关

Line 10: 定义路由endpoint=/, 表示有index函数处理请求url为/的GET请求

Line 18: 启动app, 执行监听的host:port, 在测试环境开启调试模

注意: debug模式是不安全的, 在生产环境应该关闭

四、路由

1、路由用于将python函数绑定到url上, 一个函数可以绑定多个路由规则, 也可以构建动态的url

2、访问浏览器http://localhost:9001/users/

3、访问浏览器http://localhost:9001/users/12/

4、在动态url中通过添加变量<varname>将参数传递到函数中, 在添加变量可以使用<converter:varname>指定varname的类型

converter支持int, float, path三种类型

5、路由中的endpoint有两种模式, 以/结尾和不以/结尾

对于以/结尾的route, 在浏览器中访问url时若不以/结尾, 会被flask重定向到与以/结尾的endpoint上

对于不以/结尾的route, 在浏览器中访问url时若以/结尾, 则会返回404错误

个人建议: 在定义route和使用url访问时结尾都加上/

6、路由中可以通过methods指定函数处理的HTTP方法, 默认只处理GET方法

HTTP方法:

GET: 获取内容

POST: 提交新数据

HEAD: 检查数据是否存在

PUT: 覆盖数据

DELETE: 删除数据

OPTIONS: 检查服务器支持哪些方法

五、模板

1、项目目录结构:

2、模板存放目录为/templates/

3、渲染模板

说明:

Line 2: 导入render_template函数

Line 8: 使用render_template函数渲染模板users.html, 并将变量title和users传递给模板

4、模板定义

说明:

Line 5: 将title变量渲染到模板中, 需要使用两个大括号包含变量

Line 17: 遍历users, for语句需要被包含在大括号百分号之中,结束需要用endfor

Line 21: 条件判断, if语句需要被包含在大括号百分号之中,结束需要用endfif

5、访问浏览器http://localhost:9001/users/

六、静态文件

可以在模板中引入本地的js, css, 图片等资源文件

说明:

  1. 静态资源文件需要放置在static目录

  2. 在模板中使用/static/filename.suffix的格式引入文件

  3. 可以使用url_for('static', filename=filename.suffix)函数自动生成url引入文件

七、请求参数

说明:

Line 1: 导入reqeust对象

Line 5: 通过reqeust.method获取请求方法

Line 6: 通过reqeust.args获取GET请求提交的参数

访问浏览器http://localhost:9001/users/?id=123

Line 8: 通过reqeust.form获取POST请求提交的参数

通过curl访问 http://localhost:9001/users/

若需要上传文件则需要使用request.files获取提交的参数并通过save函数保存到服务器上

八、cookie

说明:

Line 1: 导入make_response函数

Line 4: 通过make_response创建response对象

Line 5: 设置cookie信息locale=zh_CN

Line 6: 获取cookie中信息

九、会话

说明:

Line 1: 导入session对象

Line 9: 在session中存储信息

Line 2: 导入重定向函数redirect

Line 10: 重定向到/users/

Line 16: 获取session中存储的信息

Line 20: 删除session中的信息

Line 21: 销毁session中的所有信息

Line 4: 设置session签名所使用的密钥, 可以使用os.urandom(32)来生成强壮的密钥

 Python交流群:238757010

Flask 框架 简介的更多相关文章

  1. Flask框架简介,常用扩展包及两大核心

    Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架. Flask 本身相当于一个内核,其他几乎所有的功能都 ...

  2. Flask框架简介

    Flask框架诞生于2010年,是Armin ronacher 用python语言基于Werkzeug工具箱编写的轻量级Web开发框架! Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展. ...

  3. Flask框架(一)—— Flask简介

    Flask框架(一)—— Flask简介 目录 Flask框架介绍 一.Flask简介 二.flask安装与使用 1.安装 2.使用 3.简单案例——flask实现用户登录 Flask框架介绍 一.F ...

  4. python web框架简介Bottle Flask Tornado

    Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. ? 1 2 3 4 pip inst ...

  5. Flask框架搭建一个日程表

    目录 前言 项目介绍 技术栈 Flask Web开发流程 一.搭建环境 1.1: 创建虚拟环境 1.2: 安装依赖包 1.3: 创建依赖包列表文件 1.4: 测试hello word 二.应用程序开发 ...

  6. Flask框架从入门到实战

    Flask简介: Flask是一个使用 Python 编写的轻量级 Web 应用框架,基于 WerkzeugWSGI工具箱和 Jinja2模板引擎.使用 BSD 授权. Flask也被称为 " ...

  7. flask框架----flask-session组件

    简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数 ...

  8. python之Flask框架

    一.简单的Flask框架 1)flask简介 Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序. 这个 wdb 应用程序可以使一些 we ...

  9. Flask 入门一( flask 框架和 flask-script 库)

    Flask 入门一( flask 框架 和 flask-script 库) 一.Flask框架: 1.简介 Flask是一个非常小的Python Web框架,被称为微型框架:只提供了一个稳健的核心,其 ...

随机推荐

  1. maven项目部署对Oracle jar包的处理

    1.正常情况下,我们是访问不到ojdbc.jar的,需要建立一个本地仓. 2.先找到自己的Oracle中ojdbc.jar将其放入到   C:\Users\Administrator  这个目录下,然 ...

  2. java环境变量配置原理解析以及eclipse导入外包的方法

    1. PATH环境变量.作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把jdk安装目录下的bin目 ...

  3. 赵雅智:service与訪问者之间进行通信,数据交换

    服务类 中间人:service服务中的bind对象 创建中间人并通过onBinder方法的return暴露出去 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  4. HDU 1160 FatMouse&#39;s Speed (最长有序的上升子序列)

    题意:给你一系列个w,s.要你找到最长的n使得 W[m[1]] < W[m[2]] < ... < W[m[n]] and S[m[1]] > S[m[2]] > ... ...

  5. python与redis交互

    爬虫抓来的数据根据实际情况需要存入不同数据库,今天分享一下自己把数据存入redis数据库的经验,有需要的童鞋拿走不谢. 1.环境: Mac osx + python2. 2.需要安装的python包 ...

  6. 自学Zabbix3.8-可视化Visualisation

    随着大量数据流入Zabbix,如果用户能够查看正在发生的事情,而不仅仅是数字,那么对于用户来说,这就变得容易得多了.这就是图的所在. 图允许快速地掌握数据流,关联问题,发现什么时候开始,或者做什么事情 ...

  7. Eclipse中Spring插件的安装

    java中为了方便学习使用SSH框架,框架插件的安装是非常必要的. 本博文记录了自己安装Spring插件的过程: 本机环境:win8 64bit eclipse版本:4.5.2 MARS 插件版本:S ...

  8. .NET 实现Base-64加密解密处理

    .NET 实现Base-64加密解密处理 using System; using System.Collections.Generic; using System.Linq; using System ...

  9. Java之路上,让我们Stand Up Again

    在开始之前,先发表一下个人想法吧. 在读书的时候每天忙的不可开交,也就没有了所谓的自由,突然参加工作,传统的朝八晚五,标准的八小时工作制,每天都是两点一线,工作中涉及商业机密,公司的东西也不能带回家, ...

  10. python_web----------数据可视化从0到1的过程

    一.数据可视化项目配置 1. django + Echarts 2. 服务器(linux:Ubuntu 17.04 (GNU/Linux 4.10.0-40-generic x86_64)) 3. I ...