1. 初始化

所有的 Flask 程序都必须创建一个程序实例,所谓程序实例,在 Flask 框架下就是,Flask 类的实例对象(instance)。

from flask import Flask
app = Flask(__name__)

Web 服务器使用一种名为 Web 服务器网关接口(Web Server Gateway Interface,WSGI)的协议,把接收自客户端(client)的所有请求(request)都转交给这个对象处理。

2. 路由与视图函数

客户端(例如 web 浏览器)把请求发送给 web 服务器,web 服务器再把请求发送给 flask 程序实例。

程序实例需要知道对每个 url 请求运行哪些代码,所以需要保存一个 URL 与 Python 函数之间的映射关系。处理 URL 和函数之间的关系的程序成为路由

@app.route('/')
def index():return '<h1>Hello World!</h1>'

而像 index() 这样的函数被称为视图函数(view function),视图函数返回的响应可以是包含 HTML 的简单字符串,也可以是复杂的表单。

如果仔细观察日常所用服务的某些 url 格式,会发现许多地址中都包含可变部分。例如 csdn 上的个人博客地址,http://blog.csdn.net/<用户名>,用户名是地址的一部分。

Flask 也支持这种形式的 URL,

@app.route('/user/<name>')
def user(name):return '<h1>Hello, %s</h1>' % name

尖括号中的内容就是动态可变部分,任何能匹配静态部分的 URL 都会映射到这个路由上,调用视图函数时,Flask 会将动态部分作为参数传入函数(注意, 尖括号中的内容必须和函数的参数名保持一致)。

路由中的动态部分默认使用字符串,不过也可以使用其他类型定义。Flask 支持在路由中使用 int、float 和 path 类型。path 类型也是字符串,但不把斜线视作分隔符,而将其当做动态片段的一部分。

3. 启动服务器

程序实例app使用 run 方法启动 Flask 集成的开发 Web 服务器:

if __name__ == '__main__':app.run(debug=True)

服务器启动后,会进入轮询,等待并处理请求,直到程序停止,比如按下 ctrl + c 键。换句话说,程序会阻塞在这里app.run()后面的语句不会被执行。

Python Flask Web 第一课 —— 基本概念和程序的基本结构相关推荐

  1. Python Flask Web 第九课 —— flask 扩展小结

    注意,flask 的拓展在较老的版本中,使用的 namespace 为: from flask.ext.** import ** 而新版本的导入方法为: from flask_** import ** ...

  2. Python Flask Web 第二课 —— 请求-响应循环

    1. 请求与请求上下文 Flask 从客户端收到请求(请求对象,比如请求某 URL)时,路由给视图函数处理,视图函数需要访问这些请求对象(它封装了客户端发送的 HTTP 请求),这样才能处理请求. 要 ...

  3. 计算机课进制笔记,初学Python课程笔记-第一课(计算机基本概念+进制+环境变量)...

    这是我第一次写博客,简单地聊聊当下的感受.其实,早在大学期间就有过把自己所学的一些知识点记录在某个平台,可供日后自己复习.只是本人并非计算机专业出身,平时写代码写得不是不多.直到毕业参与工作,从事软件 ...

  4. Python网络爬虫第一课----Python网络爬虫基础《http和https协议》

    Python网络爬虫第一课----Python网络爬虫基础<http和https协议> 一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protoc ...

  5. API接口开发其实特简单,Python Flask Web 框架教程来了

    大家好,日常工作中,无论你是数据工程师.数据挖掘工程师,甚至数据分析人员,都不可避免的与他人进行数据交互,API接口提供数据是最常见的形式. 今天我给大家分享 Python Flask Web 框架教 ...

  6. python Flask logging日志报错“另一个程序正在使用此文件,进程无法访问”

    文章目录 1. 问题 2. 代码示例 3. 原因 4. 解决 1. 问题 python Flask logging日志报错"另一个程序正在使用此文件,进程无法访问" 2. 代码示例 ...

  7. python Flask web 框架 (十七)

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

  8. Python Flask Web框架教程 1 Hellow, World!

    原文 Installing Python 如果你的计算机上没有安装Python,请立即安装.如果你的操作系统没有为你提供Python包,你可以从Python官方网站下载安装程序.如果你将Microso ...

  9. 比我的脸还干的gan货——Python Flask Web 框架入门

    Flask是一个轻量级的基于Python的web框架. 本文适合有一定HTML.Python.网络基础的同学阅读. 1. 简介 这份文档中的代码使用 Python 3 运行. 是的,所以读者需要自己在 ...

最新文章

  1. php数据库html文本,关于php,mysql,html的数字分页和文本_php
  2. 赋茶计算机基础知识,计算机基础知识选择题_new解析.doc
  3. 机器学习:KNN算法(MATLAB实现)
  4. jdk1.8.0_45源码解读——ArrayList的实现
  5. python 一维数组所有元素是否大于_利用Python进行数据分析(5) NumPy基础: ndarray索引和切片...
  6. Newbe.McrMirror 1.1.6 发布,助您全速下载 mssql docker 镜像
  7. Java设计模式学习总结(12)——结构型模式之外观模式
  8. Bailian4021 最大乘积【序列处理】
  9. HTML不刷新,改数据
  10. mkdir命令(转)
  11. 没想到,快手成了“生产力”
  12. 扫描隧道显微镜STM功能介绍及用途
  13. 研发流程——变更流程管控
  14. VisualStudio Qt开发环境搭建以及Qt moc的讲解
  15. 能力素质有所欠缺_学有所思,思有所悟,悟有所行
  16. [bzoj5285][Hnoi2018]寻宝游戏【复杂度分析】
  17. 单片机:按键调节时钟
  18. C++常见的三种中文内码转换代码
  19. OpenCV3学习(9.4)轮廓矩及其匹配(Moments 、HuMoments、matchShape函数)
  20. Class Proxy

热门文章

  1. php黑名单绕过,利用最新Apache解析漏洞(CVE-2017-15715)绕过上传黑名单
  2. 沙市一中2021年高考成绩查询时间,2021年荆州高考状元是谁分数多少分,历年荆州高考状元名单...
  3. HUE与Mysql的集成
  4. 转码服务器 作用,转码服务器工作原理介绍.pdf
  5. 计算机主机系统总线,全国2009年10月高等教育自学考试计算机应用基础试题及答案...
  6. c语言程序设计备考,《C语言程序设计》复习资料.doc
  7. 机器学习代码实战——数值计算
  8. Windows VsCode配置OpenCV、Eigen
  9. C语言回调函数callback
  10. 大数据系列2-liunx基础-2基本操作