【问题标题】:Bottle - Django-style URLs and passing argumentsBottle - Django 风格的 URL 和传递参数
【发布时间】:2013-01-24 21:44:27
【问题描述】:

我发现这段代码可以让 Bottle 中的路由以与 Django 类似的方式存储:

from bottle import route

# Assuming your *_page view functions are defined above somewhere
urlpatterns = (
    # (path, func, name)
    ('/', home_page, 'home'),
    ('/about', about_page, 'about'),
    ('/contact', contact_page, 'contact'),
)

for path, func, name in urlpatterns:
    route(path, name=name)(func)

我正在尝试将name 传递给页面视图函数。浏览了 Bottle 的源代码后,我看不到如何将name 发送到该函数,甚至无法看到为什么要使用它。

【问题讨论】:

    标签: django url variables routes bottle


    【解决方案1】:

    该名称用于引用其他页面(例如,app.get_url)。当前请求回调的名称可通过request['bottle.route'].name 获得。此外,您可以使用route(..., callback=...) 参数来避免装饰器的双重调用。

    【讨论】:

    • 回调分配对我有用,不知道为什么,但在我再次厌倦之前,我不断收到关于有额外参数的错误,这是不期望的。我很欣赏使用名称来引用其他页面,但是有没有办法在调用视图时包含传递给函数的额外参数,我可以使用 rule = 'POST' 来过滤方法吗?如果这是可能的,那就太好了,因为与其他框架相比,我从 Bottle 获得了令人难以置信的性能。
    • functools.partial() 你在找什么吗?
    • 确实 functools.partial() 看起来特别有用,谢谢。
    猜你喜欢
    • 2014-03-22
    • 2021-01-05
    • 2019-05-19
    • 1970-01-01
    • 2023-03-04
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    相关资源
    最近更新 更多