Python Flask框架
Python有很多Web框架,可谓是百家争鸣,我这里列出几个比较叼的几个框架
- Django 市场占有率最高,官方文档几近完美,但是适合比较大的项目,小项目会显得累赘。
- Tornado 可异步,性能高,提供更多的底层细节,还能进行Web Socket,但是和数据库…..(大坑)
- Web.py 小巧,精炼,扩展不是很多,而且问题是作者太牛掰,被上帝请去喝茶了。
- Flask 年轻,2010年出现、可扩展、小巧、内置开发服务器和调试器、使用jinja2模板、完全兼容WSGI 1.0
flask框架安装直接在pycharm里面下载就好,测试flask安装成功后,开始以下:
Flask最最简单的一个页面
from flask import Flask # 导入包
app = Flask(__name__) # 创建一个Web应用
@app.route('/') # 定义路由(Views),可以理解为定义页面的URL
def index():
return "Hello World" # 渲染页面
if __name__ == "__main__":
app.run(host='127.0.0.1',port=8080) # 运行,指定监听地址为 127.0.0.1:8080
结果如下:

点击 进入网页 可以看到 “Hello World”
开启Debug调试
修改了代码,我们需要将开启的Web程序关闭再开启,这样会影响开发效率,也很烦。
Flask内部有一个功能,专门针对这样的事情发生。
if __name__ == "__main__":
app.run(host='127.0.0.1',port=8080,debug=True)
debug参数,这个参数默认是False
开启这个功能后,我们每次修改完代码,Web应用对自动进行调整。
现在修改代码并且保存,应用就会自动更新你的代码。
分析
from flask import Flask # 导入包
app = Flask(__name__) # 创建一个Web应用
@app.route('/') # 定义路由(Views),可以理解为定义页面的URL
def index():
return "Hello World" # 渲染页面
if __name__ == "__main__":
app.run(host='127.0.0.1', port=8080) # 运行,指定监听地址为 127.0.0.1:8080
第3行:Flask需要一个参数,这个参数通常是主模块或是包的名字。所以通常会传入 __name__
第5行:可以通过使用app.config类来修改配置,开启调试模式。当然,这里所采用的方法只能适用于设置很少的时候,以后会介绍另外几种修改配置的方法。
第7行: 还记得我之前提到了MVC吗?这里就是其中V,就是路由。这里的代码的目的就是为我们来指定一个路由,也就是页面的地址。
第8 – 9行: 使用app.route()装饰器会将URL和执行的视图函数(函数 index )的关系保存在app.url_map属性上。当你访问指定的URL时,就会调用这个函数。当遇到第一个return时,就会结束。其中的return就是你的response
第12行: 执行app.run来启动服务器。默认的Flask会监听的地址是127.0.0.1:5000。我们指定host和port参数,就修改了监听地址。 服务启动后,会先判断参数host以及port是否为None,如果为None,就会将host和port修改为默认值。然后会判断debug。然后就会调用werkzeug.serving.run_simple来启动Web服务,默认会使用单进程的werkzeug.serving_BaseWSGIServer来处理客户端的请求。
还要注意的就是,这里的app.run的启动方法,只适合在码代码的时候调试。
转载自:https://cuiqingcai.com/5888.html
Python Flask框架的更多相关文章
- Linux ubantu中安装虚拟/使用环境virtualenv以及python flask框架
今天学习了python flask框架的安装过程以及使用案例,感觉网上讲的东西都没有从我们这种初学者的角度去考虑(哈哈),最后还是奉上心得: 1.安装virtualenv $ sudo apt-get ...
- python flask框架学习——开启debug模式
学习自:知了课堂Python Flask框架——全栈开发 1.flask的几种debug模式的方法 # 1.app.run 传参debug=true app.run(debug=True) #2 设置 ...
- python flask框架学习(二)——第一个flask程序
第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...
- python flask框架学习(一)——准备工作和环境配置与安装
Flask装备: 学习自:知了课堂Python Flask框架——全栈开发 1.Python版本:3.6 2.Pycharm软件: 3.安装虚拟环境: (1)安装virtualenv: pip ins ...
- #3使用html+css+js制作网页 番外篇 使用python flask 框架 (II)
#3使用html+css+js制作网页 番外篇 使用python flask 框架 II第二部 0. 本系列教程 1. 登录功能准备 a.python中操控mysql b. 安装数据库 c.安装mys ...
- #3使用html+css+js制作网页 番外篇 使用python flask 框架 (I)
#3使用html+css+js制作网页 番外篇 使用python flask 框架(I 第一部) 0. 本系列教程 1. 准备 a.python b. flask c. flask 环境安装 d. f ...
- Python Flask框架路由简单实现
Python Flask框架路由的简单实现 也许你听说过Flask框架.也许你也使用过,也使用的非常好.但是当你在浏览器上输入一串路由地址,跳转至你所写的页面,在Flask中是怎样实现的,你是否感到好 ...
- Python——Flask框架——程序的结构
一.项目结构 |-flasky |-app Flask程序一般都保存在这里 |-templates/ |-static/ |main/ |-__init__.py |-errors.py |-form ...
- python Flask框架mysql数据库配置
我是一个没有笔记习惯的低级程序员,但是我还是喜欢编程,从小学就开始跟着玩电脑,对抓鸡,ddos,跳板刷钻开始了自己的IT 旅程,之后学习了各种语言,但是可惜都不没有达到精通,都是略懂一二,现在想把Py ...
随机推荐
- python之SQLAlchemy组件
介绍 SQLAlchemy 是一个 ORM 框架,可以帮助我们使用面向对象的方式快速实现数据库操作. 组成部分: Engine,框架的引擎 Connection Pooling ,数据库连接池 Dia ...
- test6
- Reservoir sampling
在看蚂蚁***的时候看到这道题,真心觉得有趣,所以啊,一定要投入其中,知识的美妙啊~ 小明在天猫上开了一个网店,某天要开展一个抽奖活动,奖品数量100个.为了保证活动的公平,小明希望保证每个顾客中奖概 ...
- form提交所有数据
HTML: <div class="panel"> <div class="panel-body"> <h3>完善简历< ...
- 关于UI适配的文档
第一部分:原理 (1)根据当前屏幕尺寸与开发预设屏幕尺寸尺寸得出以下参数. 1 XRatio:当前屏幕尺寸与开发尺寸的X轴比例 2 YRtaio:当前屏幕尺寸与开发尺寸的Y轴比例 3minRatio: ...
- [ Python ] OpenGL
pyOpenGL Installation Package Version------------------- -------numpy 1.14.2 PyOpenGL 3.1.0 PyOpenGL ...
- Linux命令(一)
一:命令介绍,目录结构,基本格式 linux命令格式: command [-options] [parameter1] ... 带-就是选项,不带-就是参数 ls ---文件显示 ls ...
- 4、Kafka命令行操作
Kafka命令行操作 1)查看当前服务器中的所有topic [test@ip101 kafka]$ bin/kafka-topics.sh --zookeeper ip101:2181 --list ...
- jQuery 查找元素1
jQuery 查找元素1 1. id // 通过id查找 $('#id') 2. class <div class='c1'></div> // 通过class查找 $('.c ...
- java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cookie解决方法
当项目中使用单点登录功能时,通常会使用cookie进行信息的保存,这样就可以在多个子域名上存取用户信息. 比如有三个domain分别为test.com,cml.test.com,b.test.com这 ...