学习指南

开始

  • 写一个简单的网站
  • web.py初探之第一个页面hello word

1. 导入web.py模块

在开始你的web.py程序之前,打开一个文本文件(文件名为 main.py )输入:

import web

2. 声明网站的urls

任何网站最重要的部分就是它的URL结构。你的URL并不仅仅只是访问者所能看到并且能发给朋友的。

现在我们需要把我们的URL结构告诉web.py。让我从下面这个简单的例子开始:

urls = (
  '/', 'index'
)
  • 第一部分是匹配URL的正则表达式,用来匹配url; 像/、/help/faq、/item/\d+等(\d+将匹配数字)。
  • 第二部分是我们url所要处理的类, 接受请求的类名称,像index、view。

这行表示我们要URL/(首页)被一个叫index的类处理。

3. 创建一个程序:

现在我们需要创建一个列举这些url的application。

#web.template.Template.globals['config'] = config
#web.template.Template.globals['render'] = render
app = web.application(urls, globals())

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

4.编写 index 类

GET和POST: 区别

  • GET 是我们都熟悉的。它用于请求网页文本。当你在浏览器输入 baidu.com ,它会直接访问 baidu 的 web服务器,去GET

  • POST ,它经常被用在提交form,比如请求买什么东西。提交一个去做什么事情(像使用信用卡处理一笔交易)的请求

在web.py的代码中,将明确区分两个方法:

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

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

5.让程序运行起来

这行会告诉web.py开始提供web页面:

if __name__ == "__main__":
    app.run()

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

完整代码应该像下面这样:

import web

urls = (
    '/', 'index'
)

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

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

6. 命令方式启动服务

如果你在命令行下面,请输入:

python main.py 0.0.0.0:8080

或者

python main.py 192.168.17.129:8080

现在你的web.py应用正运行在你电脑上的一个真正的web服务器上。

访问那个URL,然后你应该看到"Hello, world!" (你可以通过把IP地址/端口加在"code.py"的后面,来控制web.py在哪里启动服务器。)。

注意: 如果你不能或者不想使用默认端口,你可以使用这样的命令来指定端口号:

python main.py 1234