![]() |
1
2
恐怕你的问题没有一个答案。问题是,在URL级别上指定了层次结构的外观,使用它捆绑了太多的逻辑。 我发现对用户装饰师很有用。例如,在您的案例中,您可以编写一个装饰器来检查类别的完备性,并且只将最后一个类别传递给视图。类似于可以使用此签名的函数的修饰器:
检查每个类别是否确实是下一个类别的父类别,并向下传递视图最终选中的类别。
如果您真的需要它是可扩展的,那么装饰器可以做一些内省和猜测(例如树的深度,剩余的参数是什么,等等)。 然后,您所需要做的就是仔细编写URL配置,这样装饰器就可以得到形状良好的参数。 通过 |
![]() |
2
1
这是 http://djangosnippets.org/snippets/362/ 也很有用。它可以解决在没有修饰符的情况下检查URL是否匹配的问题。 |
![]() |
rcomiskey · Django:使用查询集/筛选创建类别 7 年前 |
![]() |
Vladimir Nani · django-cms示例中的导航节点 12 年前 |
![]() |
Efrin · Django mptt和合并多个对象 12 年前 |