分享

web.py是适用于Python的Web框架,功能强大而又简单

 美好生活谷 2019-10-06
web.py是适用于Python的Web框架,功能强大而又简单

web.py

web.py是适用于Python的Web框架,功能强大而又简单。web.py是公共领域;您可以毫无限制地将其用于任何目的。

最新的稳定版本0.40支持Python 2.7和Python> = 3.5。要安装它,请运行:

# For Python 2.7pip2 install web.py==0.40# For Python 3pip3 install web.py==0.40

您也可以从GitHub Releases 页面下载它,然后手动安装它:

unzip webpy-0.40.zipcd webpy-0.40/python3 setup.py install

注意:0.40是支持Python 2的最新版本。将来的版本将不再支持Python 2。

URL处理

任何网站中最重要的部分是其URL结构。您的URL不仅是访问者看到并通过电子邮件发送给朋友的内容,还提供了有关您网站工作方式的思维模式。在诸如del.icio.us这样的流行网站上,URL甚至是用户界面的一部分。使用web.py可以轻松创建出色的URL。

要开始使用web.py应用程序,请打开一个新的文本文件(我们称之为code.py),然后输入:

import web

这将导入web.py模块。

现在我们需要告诉web.py我们的URL结构。让我们从简单的事情开始:

urls = ( '/', 'index')

第一部分是一个正则表达式匹配的URL,如/,/help/faq,/item/(\d+),等(即\d+将匹配的数字序列)。括号表示捕获匹配的数据,以备后用。第二部分是一类的名称,以将请求发送到,例如index,view,welcomes.hello(其中获取hello类的welcomes模块),或get_\1。\1替换为您的正则表达式的第一个捕获;任何剩余的捕获都将传递给您的函数。

这一行说,我们希望URL /(即首页)由名为的类处理index。

GET和POST

GET是我们都熟悉的一种,用于请求网页文本。当您输入harvard.eduWeb浏览器时,它实际上会要求哈佛Web服务器输入GET /。POST在提交某些形式的表单(例如,购买商品的请求)时,通常会使用第二高的。您可以使用POST,只要提交请求的行为做一些事情(比如你的信用卡收费和处理订单)。这是关键,因为GETURL可以到处传递,并通过搜索引擎,你一定要为大部分的网页,但绝对指数希望像处理订单的事情(想象一下,如果谷歌试图购买你网站上的一切!)。

在我们的web.py代码中,我们将两者之间的区别清楚了:

class index: def GET(self): return 'Hello, world!'

GET现在,只要有人GET请求,web.py就会调用此函数/。

现在,我们需要创建一个指定网址的应用程序,并告诉web.py开始提供网页的方法:

if __name__ == '__main__': app = web.application(urls, globals()) app.run()

首先,我们告诉web.py使用上面列出的URL创建一个应用程序,在此文件的全局命名空间中查找类。最后,我们确保web.py服务于我们上面创建的应用程序。

现在请注意,尽管我在这里一直在谈论很多,但实际上我们只有五行左右的代码。这就是制作完整的web.py应用程序所需的全部。

为了更易于访问,代码如下所示:

import weburls = ( '/', 'index')class index: def GET(self): return 'Hello, world!'if __name__ == '__main__': app = web.application(urls, globals()) app.run()

启动服务器

如果转到命令行并键入:

$ python code.py0.0.0.0:8080/

现在,您的web.py应用程序正在计算机上运行真实的Web服务器。访问该URL,您应该会看到“ Hello,world!”(您可以在“ code.py”位之后添加IP地址/端口,以控制web.py在何处启动服务器。也可以告诉它运行fastcgi或scgi服务器。 )

注意:如果您不想或不想使用默认值,则可以在命令行上指定要使用的端口号:

$ python code.py 12340.0.0.0:1234/

更多使用方法可以查看官方文档

开源地址:

https://github.com/webpy/webpy

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多