gpt4 book ai didi

python - web.py 中的 URL 处理如何工作?

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:14 24 4
gpt4 key购买 nike

通过以下方式,我将“hello.py”和“goodbye.py”与相应的类(函数)绑定(bind),并且它可以工作。如果我转到“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没有使用括号。

最佳答案

从我看到的示例(我不太了解 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

关于python - web.py 中的 URL 处理如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22348677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com