快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → Python-轻量级-Web-框架:Bottle-库

Python-轻量级-Web-框架:Bottle-库

时间:2022-09-19 13:35:34人气:作者:快盘下载我要评论

Bottle是一个超轻量级的python库。说是库;其本身只由一个4000行左右的文件构成;并且不需要任何依赖;只靠python标准库即可运作。

和它本身的轻便一样;Bottle库的使用也十分简单。相信在看到本文前;读者对python也已经有了简单的了解。那么究竟何种神秘的操作;才能用百行代码完成一个服务器的功能?让我们拭目以待。

Python-轻量级-Web-框架:Bottle-库

一; Bottle库安装

1;使用pip安装

2;下载Bottle文件

https://github.com/bottlepy/bottle/blob/master/bottle.py

框架:Bottle

二;“HelloWorld;”

所谓万事功成先HelloWorld;从这个简单的示例中;了解Bottle的基本机制。

先上代码;

框架:Bottle

首先我们从bottle库中导入get和run两个方法。

接下来;我们要构建一个网站;首先要有一个ip地址和一个端口;port;;这部分功能由run来完成;在测试环节我们就使用127.0.0.1;本机地址;和80端口;浏览器默认端口;来运行这段代码 python HelloWorld.py

Web

这样网站服务器就处于运行状态啦;打开浏览器;输入127.0.0.1(:80)

框架:Bottle

熟悉的404;错误提示Not found;‘/’。这是当然的;因为网站除了服务器之外;还有很重要的成分——网页啊;

浏览器访问ip地址时;即向这个ip发送了get请求;等待返回网页数据;那么我们的bottle库里;封装了get方法;用来实现这一过程。

代码如下;

框架:Bottle

不知道大家是否认识def上面的;符号;这个符号是python语法中的装饰器的意思;可以简单的理解为使用get函数对Homepage进行修饰。在这里;;get(‘/’)即将homepage装饰成了浏览器发送GET 127.0.0.1/这个请求时的相应函数。可以做任意处理;最后返回get请求的相应。这里就返回了简单的HelloWorld页面;再次运行;就有这样的效果;

Web

也可以使用bottle中封装的template方法;将网页数据单独写在.tpl文件中;示例如下;

Python

run函数还有一个参数reloader;将其设置为True将会打开自动重载;网页服务器会在你做出任何更改时自动重载服务器;可实现网站的热更新。

三;动态路由及文件下载

如上我们使用的get(‘/’);本质上是一种静态路由;在服务器运行前就确定好的地址可以用这种方法来进行路由。

那么如果是服务器运行时呢?比如说网站服务器上存取文件;当然不能采取静态的方式;这时候我们就可以采用动态路由。

Bottle的动态路由;由route方法实现;和get类似;也是采用装饰器来修饰函数实现路由功能。

轻量级

这里我们看到在装饰器的参量中出现了一个与众不同的东西:;name;。被其修饰的函数的参数与冒号后的参量同名;而在函数中;就可以使用name这个参数作为处理变量;最后返回响应即可。

轻量级

而动态路由即可为文件路由提供便利。一个服务器中可能存放着成百上千的文件;不可能每个都依靠静态地址。

Python

这里我们可以看到一个新的函数static_file;第一个参数为文件名;第二个参数为根目录地址;即这个文件所在的位置;;当前文件系统为;

--HelloWorld.py

--store1.txt

访问浏览器得到

Web

当然你也可以把文件放在文件夹里;只要把root参数更换成文件夹的地址即可。

Python

四; POST的响应与文件上传

如果要实现更复杂的功能;我们不但需要使用GET方法;也需要POST方法。这里我们使用HTML语言中的Form来演示Bottle库对于POST请求的响应。

Web

首先我们实现一个上传文件的窗口;如上。

此处的页面为一个简单的表单提交界面;在此不做详细介绍;打开页面如下;

框架:Bottle

接下来的POST响应;代码如下;

轻量级

从Bottle库中导入post方法和request。

和get方法类似;使用post装饰响应函数;之后在函数体中使用request即可获取网站服务器接受到的post请求体。request.forms.get()方法可以将表单中对应Key的字符串取出;request.files.get()方法可以将表单中对应Key的文件取出;使用save方法将数据储存就实现了文件的上传。

接下来我们进行一次测试;

库

点击上传后;我们打开服务器根目录;就是python文件的位置;;查看发现文件已经上传成功;

轻量级

轻量级

五;小结

在完成这些功能后;你一定想把bottle部署到网络上吧;毕竟只在本地运行的话;网站又有什么作用呢?

清华网为我们每一个网络接入点都提供了公网ip;在cmd中使用ipconfig查看ip地址;将run中的运行参数改为你的公网ip;然后在任何一台设备的浏览器上;建议手机;电脑浏览器有时候会很慢;输入ip地址和端口号(默认80);就可以访问啦;

Bottle库还有很多强大的功能;Cookie的读写、插件的安装卸载与禁用都不在话下;也可以将Bottle部署到其他的服务器;非常简单的实现多线程;这些功能有待读者大大发掘哦;


总结了很多有关于python面试的资料;希望能够帮助正在学习python的小伙伴。由于资料过多不便发表文章;创作不易;望小伙伴们能够给我一些动力继续创建更好的python类学习资料文章;
请多多支持和关注小作;别忘了点赞;评论;转发。右上角私信我回复【999】即可领取免费学习资料谢谢啦;
 

相关文章

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。