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

时间:2017-01-29 19:53:38

标签: firefox web.py

当我在this tutorial中途运行示例代码时,我不会立即收到错误,但是当我转到url(ht [break_link] tp://0.0.0.0:8080 /)时,我得到'Firefox无法在0.0.0.0:8080建立与服务器的连接。'我也尝试过使用Chrome,没有运气。

有一次,webpy给我一个错误,就是“无法找到类索引”,但我不知道我做了什么来获取错误或如何重现错误。

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

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出现才出现) webpy没有注意到索引类,但我不明白为什么。

1 个答案:

答案 0 :(得分:0)

当它打印http://0.0.0.0:8080/时,网络服务器正在循环运行(由于呼叫app.run()),因此,它不会打印&#34;最后&#34;直到你杀死网络服务器。这就是为什么你不能看到最后的原因。直到ctrl-c。一切正常。

http://0.0.0.0:8080只是说网络服务器正在监听所有有效的IPv4地址&#39;在本地机器上。 0.0.0.0不是真实地址。要访问您的网络服务器,请将浏览器指向真实的IP地址。

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