gpt4 book ai didi

python - 如何获取 Bottle.py 动态路由的 URL?

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

我刚刚开始使用 Bottle.py。由于我的应用程序未部署为站点根目录。我使用 get_url 作为重定向代码,如下所示:

@myapp.route("/")
def index():
redirect(myapp.get_url("/hello"), name=name)

例如,如果应用程序部署到 http://www.mysite.com/cgi-bin/myapp.py ,它将成功重定向到 http://www.mysite.com/cgi-bin/myapp.py/你好

现在的问题是如何重定向到动态路由?例如

@myapp.route("/hello/<name>")
def hello(name):
.....
return template(...)

@myaap.route("/")
def index():
#How to redirect it to /hello/<name>?????

现在我想重定向页面以路由“/hello/”,但 get_url 不接受它。它不适用于动态路由。

我不会编写自己的“my_get_url”来处理它。我认为每个将 Bottle 应用程序部署到非根站点的人都应该已经面临并解决了这个问题......

欢迎任何评论。

谢谢!

最佳答案

您应该同时使用名称和路由,并通过名称引用路由。

例如:

@app.get(path="/admin/customers/single/messages/system_messages/delete/<message_id:int>",
name="admin.customers.single.messages.system_messages.delete",
_run_functions_before=[
user_has_permissions([UserPermissionForCustomer.super_user_access])
]
)
def delete_system_message(resources, message_id):
"""
@param resources:
@type resources:
@param message_id:
@type message_id: int
@return:
"""
system_messages_logic = SystemMessagesLogic(resources)
system_messages_logic.delete_system_message(message_id)
return list_system_messages(resources)

在上面的例子中,您可以像下面这样引用路由:

 redirect(app.get_url("admin.customers.single.messages.system_messages.delete", message_id=message_id))

关于python - 如何获取 Bottle.py 动态路由的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459086/

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