加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

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

2020/12/15
163
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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

关注公众号,扫码加入嵌入式交流群:

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
XC3S700A-4FGG400C 1 AMD Xilinx Field Programmable Gate Array, 1472 CLBs, 700000 Gates, 250MHz, 13248-Cell, CMOS, PBGA400, LEAD FREE, FPBGA-400
$48.97 查看
EP4CE6F17I7 1 Intel Corporation Field Programmable Gate Array, 392 CLBs, 472.5MHz, 6272-Cell, PBGA256, 17 X 17 MM, 1 MM PITCH, FBGA-256

ECAD模型

下载ECAD模型
$24.63 查看
5M160ZE64C4N 1 Altera Corporation Flash PLD, 7.9ns, 128-Cell, CMOS, PQFP64, 9 X 9 MM, 0.40 MM PITCH, LEAD FREE, PLASTIC, EQFP-64
$22.94 查看

相关推荐

电子产业图谱

TopSemic,让芯片使用更简单。 专注分享:嵌入式,单片机,STM32,ARM,RTOS,Linux, 软硬件,半导体,电子技术等相关内容。