gpt4 book ai didi

Django:分层 URL

转载 作者:行者123 更新时间:2023-12-04 19:53:30 31 4
gpt4 key购买 nike

在 Django 中如何处理分层 URL?有什么最佳做法吗?例如。如果我有一个像 /blog/category1/category2/myblogentry 这样的 URL(使用例如 django-mptt),你会在 urls.py 之前做一些检查还是给 View 的整个路径,让它检查每个部分是否是有效类别等?听起来并不难,但只是好奇是否有人可以推荐一些最佳实践或可以展示一些好的(通用)解决方案?

最佳答案

恐怕您的问题没有单一的答案。问题在于,在 URL 级别指定层次结构的外观会捆绑太多逻辑。

我发现对用户装饰器很有用。例如,在您的情况下,您可以编写一个装饰器来检查类别的完整性,并仅将最终类别传递到 View 中。像装饰器这样的东西可以接受带有这个签名的函数:

f(request, cat1, catN..., slug)

检查每个类别确实是下一个类别的父类别,并将最终检查的类别传递给 View 。

@validate_category_hierarchy
def post_in_category(request, category, slug):

如果你真的需要它是可扩展的,装饰器可以做一些自省(introspection)并做出一些猜测(比如树能走多深,剩下的参数是什么等等)。

然后您需要做的就是仔细编写您的 URL conf,以便装饰器获得良好的参数。 通过

关于Django:分层 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3169332/

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