使用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 ...
随机推荐
- C#基本语法<一>_入门经典
基本信息 CIL和JIT CIL通用中间语言 JIT just-in-time使得CIT代码仅在需要时才编译 程序集 包含可执行文件.exe和库函数.dll和资源文件,不必把程序集集中到一个地方,全局 ...
- BeanUtils.populate()空字符串转换日期的解决办法
我们在使用beanutils.populate()封装参数时,如果封装的字符串是空,在转换成date时会出现以上异常,此时可以在工具类中添加静态代码块即可解决:注意导入beanutils 包 impo ...
- win7系统防止中招勒索病毒
echo @@ netsh advfirewall firewall add rule name= netsh advfirewall firewall add rule name= netsh ad ...
- localStorage本地存储技术
localStorage 本地存储技术 本地存储技术,“不是永久的永久存储” 特点: 将数据存储到浏览器当中 存储的数据都是以字符串的形式存储的 和传统的数据库相比: 优点: 操作简单,容易学习 数据 ...
- 记录:c#实现微信,支付宝扫码支付(一)
因为公司系统业务需要,这几天了解了一下微信和支付宝扫码支付的接口,并用c#实现了微信和支付宝扫码支付的功能. 微信支付分为6种支付模式:1.付款码支付,2.native支付,3.jsapi支付,4.a ...
- JS&Jquery基础之窗口对象的关系总结
1.top 该变更永远指分割窗口最高层次的浏览器窗口.如果计划从分割窗口的最高层次开始执行命令,就可以用top变量.2.opener opener用于在window.open的页面引用执行该wi ...
- Bazel 编译工具; tensorflow 编译
什么是bazel https://docs.bazel.build/versions/master/bazel-overview.html 使用 bazel 构建 c++ 工程 https://git ...
- appium---App页面滑动
我们操作app的过程中都会进行页面滑动,那么这个过程通过python怎么实现呢? 如何滑动 大家都非常的清楚我们手动在app上是如何滑动的,然后自动化只是模仿了手工的方法去实现,我们通过一个图来分析 ...
- Mybatis的动态sql以及分页
mybatis动态sql If.trim.foreach <select id="selectBooksIn" resultType="com.jt.model.B ...
- poj 3233 矩阵快速幂
地址 http://poj.org/problem?id=3233 大意是n维数组 最多k次方 结果模m的相加和是多少 Given a n × n matrix A and a positive i ...