首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将金字塔遍历中的视图前缀从"@@“更改为"+”

将金字塔遍历中的视图前缀从"@@“更改为"+”
EN

Stack Overflow用户
提问于 2010-12-13 17:55:46
回答 1查看 505关注 0票数 1

我正在考虑将web应用程序从pylons迁移到pyramid (以前是repoze.bfg),因为遍历比url分派更适合我的应用程序。

目前,当我有一个包含多个视图的obj时,我会在url中使用前缀为'+‘的视图名称。例如:

代码语言:javascript
复制
/path/to/obj/   (default view)
/path/to/obj/+custom_view1
/path/to/obj/+custom_view2
/path/to/obj/+edit
/path/to/obj/+delete
/path/to/obj/sub_obj/

金字塔有一个功能来处理这是一个很好的方式,但它使用了前缀"@@“。有没有办法把它改成"+“,这样我就可以保持我的urls不变(你知道他们怎么说很酷的urls,)并使用这个功能。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-08 21:39:43

可以或不可以,您可以将视图前缀从"@@“更改,但新的前缀也应该是2-symbold长度,有关遍历器,请参阅sources

子类化ResourceTreeTraverser,然后注册它,而不是默认的,应该可以做到这一点:

代码语言:javascript
复制
from pyramid.traversal import ResourceTreeTraverser as BaseResourceTreeTraverser

class ResourceTreeTraverser(BaseResourceTreeTraverser):
    VIEW_SELECTOR = "++"

from pyramid.config import Configurator
from pyramid.interfaces import ITraverser
from zope.interface import Interface

config = Configurator()
config.registry.registerAdapter(ResourceTreeTraverser, (Interface,), ITraverser)

就我个人而言,我认为VIEW_SELECTOR应该被重构,以允许任何长度的视图前缀。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4427617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档