前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >嵌入式工程师入门前后端系列2:搭建web.py环境

嵌入式工程师入门前后端系列2:搭建web.py环境

作者头像
用户2366192
发布2021-05-31 11:04:41
7421
发布2021-05-31 11:04:41
举报
文章被收录于专栏:TopSemic嵌入式

web.py是一个轻量级的web开发框架,作为初学者,我计划先从这个学起来。https://webpy.org/ 这里是webpy的官方网站。

web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.

下面先在Windows下搭建web.py环境,网上提供的方法大部分是先把源码包下载下来,然后进入后python setup.py install 安装,但是用这种方法我总是安装失败。原因猜测是我的python版本和web.py版本匹配问题,后来解决方法是:通过pip安装。

在Windows DOS窗口里输入:pip install web.py==0.40

pip如果不识别,需要在环境变量PATH中添加C:/Python27/Scripts

它会提示如下错误信息:

这时输入python -m pip install --upgrade pip

之后再重新输入pip install web.py==0.40

就不再报错了。

安装成功后,进入到目录里执行:python hello.py

hello.py内容如下:

import web

urls = ('/hello', 'hello',

)

class hello(object):

def GET(self):

return 'hello world!'

if __name__ == "__main__":

app = web.application(urls, globals())

app.run()

浏览器中输入:http://127.0.0.1:8080/hello

在阿里云上部署,也是完全一样的操作。

我们来解释下这段代码:

第1行:import web, 在每个web.py 应用,必须先import web 模块。

第3行:把URL结构告诉web.py。

第一部分是匹配URL的正则表达式,比如例子中的’/hello’,对应你在浏览器中输入的URL是localhost:8080/hello,如果你把改成hello2,你再输入原来URL就无法访问。

网址得对应修改才能正常访问,

如果你改成

urls = ('/', 'hello',

)

直接这么输入就行了

第二部分是接受请求的类名称。

第6-8行:

对应上面的hello,是一个类,

GET用于请求网页文本。

下面是返回的东西,也就是我们网页看到的东西。

当有人用GET请求/时,这个GET函数随时会被web.py调用。

第10行:

一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在 if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。

第11行:

这会告诉web.py去创建一个基于我们刚提交的URL列表的application。这个application会在这个文件的全局命名空间中查找对应类。

第12行:

这会告诉web.py为我们启动上面我们写的应用。

参考资料:

https://www.cnblogs.com/dolphin0520/p/3343617.html

https://www.oschina.net/question/5189_4306

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TopSemic嵌入式 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档