请耐心等待,因为我刚刚开始使用 Pyramid。关于URL Dispatch,我无法理解 Pyramid 中的上下文和资源。我不太确定文档、上下文和资源中的描述意味着什么(对我来说)有点循环。
- 什么是金字塔中的资源?它只是 url 试图代表的内容吗?例如,如果 url 是
/organization/add_users
,是资源组织还是用户? - 上面例子中的上下文也是组织吗?
还,
- 上下文对象到底是什么?
上下文对象应该包含什么?教程中的示例只有 ACL,init 方法中没有任何内容。
class RootFactory(object): __acl__ = [(...some permissions...)] def __init__(self): pass
当抛出异常(例如禁止)时,上下文究竟会在什么时候发生变化?
当出现诸如 Forbidden 错误之类的事情时,我可以看到更改上下文的目的,但是在执行诸如验证之类的事情时,为什么我应该抛出一个使用不同的 view_callable 注册的异常,该异常会呈现到不同的模板,而我可以简单地在同一个 view_callable 中渲染到不同的模板而不是抛出异常?(我在文档中看到了 add_view 的验证错误示例)