webpy 'Hello World' 教程:webpy 找不到 class

webpy 'Hello World' tutorial: webpy can't find class

当我 运行 示例代码中途 this tutorial 时,我不会立即收到错误,但是当我转到 url(ht[break_link]tp://0.0.0.0:8080/),我得到 'Firefox can’t establish a connection to the server at 0.0.0.0:8080.' 我也用 Chrome 试过了,没有运气。

有一次 webpy 给我一个类似 'class index could not be found,' 的错误,但我不确定我做了什么来得到这个错误或如何重现它。

这是文件。它与我链接的教程相同,只是添加了打印语句:

import web

# Handle the url / with the index class.
urls = {
    '/', 'index'
}

class index:
    def GET(self):
        return "Hello, world!"
        print 'inside get'
print 'after index'

print "-------"
print globals()
print "-------"

if __name__ == '__main__':
    print "hi"
    app = web.application(urls, globals())
    print "hello"
    app.run()
    print "last"

输出:

after index
-------
{'web': <module 'web' from 'C:\Python27\lib\site-packages   \web\__init__.pyc'>, 'index': <class __main__.index at 0x0324F030>,     '__builtins__': <module '__builtin__' (built-in)>, '__file__': 'code.py',     '__packa
ge__': None, 'urls': set(['index', '/']), '__name__': '__main__',     '__doc__': None}
-------
hi
hello
http://0.0.0.0:8080/
last

('last' 直到我 ctrl-c out 才出现) webpy 没有注意到索引 class,但我不知道为什么。

当它打印 http://0.0.0.0:8080/ 时,网络服务器处于 运行 循环中(由于调用 app.run())所以它不会打印 "last" 直到你杀死网络服务器。这就是为什么您直到 ctrl-c 才看到 'last'。一切正常。

http://0.0.0.0:8080 只是表示网络服务器正在侦听本地计算机上的 'All valid IPv4 addresses'。 0.0.0.0 不是真实地址。要访问您的网络服务器,请将您的浏览器指向真实的 IP 地址。

如果您是 运行 本地计算机上的此网络服务器,您可能可以使用 http://127.0.0.1:8080/,它(通常)指的是您的本地计算机。如果您 运行 此网络服务器位于远程计算机上,则需要提供其 IPv4 地址或主机名,而不是 0.0.0.0.