摘要:初始化所有的程序都必须创建一个程序实例,这个程序实例就是类的对象。定义路由最简便的方式,是使用程序实例提供的修饰器前例把函数注册为程序根地址的处理程序。
初始化
所有的Flask程序都必须创建一个程序实例, 这个程序实例就是Flask类的对象。客户端把请求发送给Web服务器, 服务器再把请求发送给Flask程序实例, 然后由程序实例处理请求。
创建程序实例:
from flask import Flask app = Flask(__name__)
注意: 此处的__name__是一个全局变量, 它的值是代码所处的模块或包的名字, Flask用这个参数决定程序的根目录, 以便稍后能找到相对于程序根目录的资源文件位置。路由和视图函数
还是上面那句话——客户端把请求发送给Web服务器, 服务器再把请求发送给Flask程序实例, 然后由程序实例处理请求。
那么程序实例如何处理请求, 答案是程序实例通过路由来处理请求——路由就是URL和处理请求的函数的映射——处理请求的函数就叫做视图函数。
Flask定义路由最简便的方式, 是使用程序实例提供的app.route修饰器:
@app.route("/"): def index(): return "Hello world!
"
前例把index()函数注册为程序根地址的处理程序。 ( 如果部署程序的服务器域名为www.example.com, 在浏览器中访问http://www.example.com后, 会触发服务器执行index()函数。 )
这个函数的返回值称为响应, 是客户端接收到的内容。
地址中包含可变部分的路由:
@app.route("/user/
def user(name):
return "
尖括号中的内容就是动态部分,任何能匹配静态部分的URL都会映射到这个视图函数, 调用视图函数时, Flask会将动态部分作为参数传入函数。
注意:路由中的动态部分默认类型是字符串, 不过也可以使用别的类型如:/user/
3.启动服务器
程序实例用run方法启动Flask集成的开发Web服务器:
if name == "__main__": (只有直接运行该模块时条件才为真, 该模块被导入条件为假)
app.run(debug=True) #debug参数为True, 表示启用调试模式。
服务器启动后会进入轮询, 等待并处理请求, 直到程序停止, 比如按Ctrl+C
4.一个完整的程序
from flask import Flask
app = Flask(__name__)
静态路由@app.route("/")
def index():
return "
@app.route("/user/
def index(name):
return "
if name == "__main__":
#服务器轮询
app.run(debug=True)
————————————————————————实践—————————————————————————
5.实践操作
一.准备
按上节所说,
&cd flasky 进入flasky文件夹
&source venv/bin/activate 激活虚拟环境
迁出新版本,
&git checkout 2a 此命令迁出的是只含有静态路由的程序, 效果图如下:
注意此时迁出的版本hello.py只有一个静态路由。 而且没有启动服务器的代码, 我们要手动修改加上, 然后:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/42500.html
摘要:启动项目,验证进入到项目中的中的方法的类中,在方法上点击启动启动报错,查看报错原因分析问题原因说明端口被占用了。解决方法修改的端口号,或者将端口的应用的端口号修改了。再次启动项目启动成功,验证项目,验证成功 1.创建项目 打开IDEA,File->New->ProjectshowImg(https://segmentfault.com/img/bV22nr?w=523&h=225); ...
摘要:快速入门什么是是一个开放源代码的库,为呈现的数据提供了视图渲染。最后,项目根组件应该通过来进行注册,以便能够进行打包和正常运行。基本思想是渲染一个立方体,并将观众置于中心,随后移动。表示从指定方向平均照亮所有物体的光源。 React VR 快速入门 什么是React React是一个开放源代码的JavaScript库,为HTML呈现的数据提供了视图渲染。React视图通常使用指定的像H...
摘要:堆栈位于通用随机访问存储器中,但通过堆栈指针可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存若向上移动,则释放那些内存。创建程序时,系统必须知道存储在堆栈内所有项的确切声明周期,以便上下移动堆栈指针。 写在前面 首先我想说的是 Java编程思想——知识卡片 将是一系列文章,文章的内容是我阅读《Java编程思想》这本书的心得体会,那么我为什么要写这一系列的文章呢?原因有一...
阅读 1834·2021-11-15 11:46
阅读 1037·2021-10-26 09:49
阅读 1763·2021-10-14 09:42
阅读 3337·2021-09-26 09:55
阅读 800·2019-08-30 13:58
阅读 982·2019-08-29 16:40
阅读 3411·2019-08-26 10:27
阅读 569·2019-08-23 18:18