使用Flask构建一个Web应用
Flask是一个使用Python编写的轻量级Web应用框架。
一、安装Flask
以管理员身份,打开命令提示符窗口,输入下面命令
py -3 -m pip install flask
这个命令会连接到PyPI网站下载和安装Flask模块,以及Flask依赖的几个模块:Werkzeug、MarkupSafe、Jinja2、itsdangerous、click。
安装完成后,在命令提示符窗口最后部分可以看到:
Installing collected packages: Werkzeug, MarkupSafe, Jinja2, itsdangerous, click, flask
Successfully installed Jinja2-2.10.1 MarkupSafe-1.1.1 Werkzeug-0.15.4 click-7.0 flask-1.0.3 itsdangerous-1.1.0
二、创建一个hello world的最小Web应用
1、创建一个hello.py,内容如下
#导入flask模块的Flask类
from flask import Flask #__name__为当前活动模块的名称
app = Flask(__name__) #设置路由
@app.route('/')
def hello() -> str:
return 'Hello World!' """run()有3个可选参数
host 主机,默认为127.0.0.1
port 端口号,默认5000
debug 是否开启调试模式,默认为False,如设为True则修改代码会自动重启
"""
app.run()
在命令提示符窗口中定位到hello.py所在目录,并执行命令py -3 hello.py
D:\projects\python>py -3 hello.py
* Serving Flask app "hello" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
表示已经启动了一个Web应用,调试模式未开启,地址为http://127.0.0.1:5000,按CTRL+C可以退出Web应用。
3、在浏览器输入http://127.0.0.1:5000
可看到浏览器显示Hello World!
同时在刚才命令提示符窗口可看到
127.0.0.1 - - [23/Jun/2019 09:31:55] "GET / HTTP/1.1" 200 -
三、路由配置
在URL和函数之间建立联系的操作被称之为路由。
路由支持动态名称,规则如下:
1.<id> :默认接受的类型是str
2.<string:id> :指定id的类型为str,不能包含路径分隔符/
3.<int:id> :指定的id类型是整数
4.<float:id> : 指定id的类型为浮点数(四舍五入,且不能接收整数类型)
5.<path:path1> : 指定接收的path为任何非空字符串,可包含路径分隔符/
使用例子:
from flask import Flask
app = Flask(__name__)
@app.route('/getStr/<id>')
def getStr(id) -> str:
"""匹配str类型的id值,如/getStr/1 """
return 'id: %s' %id
@app.route('/getInt/<int:id>')
def getInt(id) -> str:
"""匹配int类型的id值,如/getInt/1 """
return 'id: %d' %id
@app.route('/getFloat/<float:id>')
def getFloat(id) -> str:
"""匹配float类型的id值,如/getFloat/1.053 """
return 'id: %.2f' %id
@app.route('/getPath/<path:path>')
def getPath(path) -> str:
"""匹配非空字符,一般匹配url路径值,如/getPath/test/1 """
return 'path: %s' %path
app.run(debug = True)
使用Flask构建一个Web应用的更多相关文章
- Eclipse的maven构建一个web项目,以构建SpringMVC项目为例
http://www.cnblogs.com/javaTest/archive/2012/04/28/2589574.html springmvc demo实例教程源代码下载:http://zuida ...
- 使用maven构建一个web项目
使用maven构建一个web项目 首先建立一个maven项目(关于环境配置上节有详细过程): 1)-->右键new,-->project ...
- 使用maven命令终端构建一个web项目及发布该项目
构建环境: maven版本:3.3.9 系统平台:Windows7 x64 JDK版本:1.7 构建步骤: 1.打开maven安装目录,在地址栏输入cmd进入命令窗口 2.输入命令mvn archet ...
- maven 构建一个web项目
maven已经大型的Java项目的管理工具,其功能非常强大,这里简单总结一下maven构建web项目的过程.本文介绍的是集成环境下的maven构建web项目. 一.准备 1.安装maven. 2.把m ...
- jmeter 构建一个Web测试计划
添加用户 第一步你想做的每一个JMeter测试计划是添加一个 线程组 元素. 线程组告诉 JMeter的用户数量你想模拟,用户应该发送的次数 请求,请求他们应该送多少. 继续添加ThreadGroup ...
- Python 6 -- 构建一个Web应用
用Flask Web框架,实现浏览器页面交互.在此之前需要了解web的基本工作流程,可参照https://blog.csdn.net/m0_37466453/article/details/72752 ...
- 【springBoot】之快速构建一个web项目
基于maven,首先看pom文件 <parent> <groupId>org.springframework.boot</groupId> <artifact ...
- 从零构建一个简单的 Python Web框架
为什么你想要自己构建一个 web 框架呢?我想,原因有以下几点: 你有一个新奇的想法,觉得将会取代其他的框架 你想要获得一些名气 你遇到的问题很独特,以至于现有的框架不太合适 你对 web 框架是如何 ...
- SharePoint Framework 构建你的第一个web部件(二)
博客地址:http://blog.csdn.net/FoxDave 本篇接上一讲,介绍一下web部件项目中的代码. 下面首先列举一下项目中的一些关键文件. Web部件类 HelloWorldWebPa ...
随机推荐
- Java数据类型和自动拆装箱
1.java的数据类型:基本数据类型(8种)和引用数据类型. 基本数据类型: 类型 boolean byte short char int long float double 位 1 8 16 16 ...
- 从0系统学Android-2.6Activity间数据传递
本系列文章,参考<第一行代码>,作为个人笔记 更多内容:更多精品文章分类 2.3.4 向下一个 Activity 传递数据 前面学习了使用 Intent 来启动一个 Activity ,其 ...
- MySQL基础之常用函数
数学函数的使用 常用数学函数 函数 作用 函数 作用 ceil() 进一取整 abs() 取绝对值 floor() 舍掉小数部分 power() 幂运算 round() 四舍五入 pi() 圆周率 t ...
- 使用scale等比例缩放图片
功能需求: 在下拉框中选择你所需要缩放的比例, 选择好了之后,图片会按照你选择的比例进行缩放 1==>如何获取select中option选中的值 在select添加事件change 和双向绑定v ...
- 【1期】mysql必知必会
再有人问你为什么MySQL用B+树做索引,就把这篇文章发给她
- AtCoder Regular Contest 100
传送门 C - Linear Approximation 题意: 求 \[ \sum_{i=1}^nabs(A_i-(b+i)) \] \(A_i,b\)给出. 思路: 将括号拆开,变为\(A_i-i ...
- 信号驱动式I/O
信号驱动式I/O是指进程预先告知内核,使得当某个描述符上发生某事时,内核使用信号通知相关进程. 异步I/O是进程执行I/O系统调用(读或写)告知内核启动某个I/O操作,内核启动I/O操作后立刻返回到进 ...
- cf 【并查集】
http://codeforces.com/contest/1245/problem/D 题意就是:你需要让所有城市都有电,你看也在该城市建电站使他有电,同时你可以链接他与其他城市,使之有电 解决: ...
- BZOJ1369/LG4395 「BOI2003」Gem 树形DP
问题描述 LG4395 BZOJ1369 题解 发现对于结点 \(x\) ,其父亲,自己,和所有的孩子权值不同,共 \(3\) 类,从贪心的角度考虑,肯定是填 \(1,2,3\) 这三种. 于是套路树 ...
- plsql查询数据显示为乱码解决方案
1.首先安装plsql之后连接数据库,发现使用sql查询出来的中文数据是??,即乱码.原因,因为数据库的编码与本地的编码不一致,plsql默认加载的是本机win10的编码. 2.解决办法: 参数如下: ...