通过以下方式我绑定" hello.py"和" goodbye.py"与相应的类(函数),它的工作原理。如果我去" 0.0.0.0:8080 / hello.py"或者" 0.0.0.0:8080 / goodbye.py",我看到了我期待看到的内容。
import web
urls = ('/(hello.py)', 'hello', '/(goodbye.py)', 'goodbye')
app = web.application(urls, globals())
class hello:
def GET(self, name):
if not name:
name = 'World'
return 'Hello, ' + name + '!'
class goodbye:
def GET(self, name):
if not name:
name = 'World'
return 'Goodbye, ' + name + '!'
if __name__ == "__main__":
app.run()
但是,我不明白为什么我需要使用括号。如果我将'/(hello.py)'
替换为'/hello.py'
,则无效。但是,在示例中here没有使用括号。
答案 0 :(得分:1)
从我看到的示例(我不太了解web.py)中,get参数不应该作为方法参数传入,而是通过web.input方法获取,如下所示:
import web
urls = (
'/SomePageHello','SomePageHello',
'/SomePageGoodbye','SomePageGoodbye',
)
app = web.application(urls, globals())
class SomePageHello:
def GET(self):
user_data = web.input(name="no data")
return "<h1> Hello " + user_data.name + "</h1>"
class SomePageGoodbye:
def GET(self):
user_data = web.input(name="no data")
return "<h1> Goodbye " + user_data.name + "</h1>"
if __name__ == "__main__":
app.run()
网址应该是:
http://127.0.0.1:8081/SomePageHello?name=dasfasd