gpt4 book ai didi

Django-tastypie 创建 URL 层次结构

转载 作者:行者123 更新时间:2023-12-01 01:20:28 24 4
gpt4 key购买 nike

我想使用 Tastypie 创建一个 URL 层次结构,但遇到了一些错误。以下是我希望层次结构的工作方式:

/recipe  
/recipe/ID
/recipe/ID/spice
/recipe/ID/spice/ID

我不知道该怎么做。当我按照 Tastypi 说明进行设置时,我的 URL 将如下所示:
/recipe  
/recipe/ID
/spice
/spice/ID

如果我将 spice 的 resource_name 更改为“/recipe/spice”,则会收到“ NotFound: Invalid resource lookup data provided (mismatched type) ”错误。

关于我能做什么的任何建议?

最佳答案

Tastypie 旨在帮助实现 REST API,因此默认情况下仅支持符合 REST 实践的 URL。也就是说,每个 URL 都应该包含一个资源名称(“recipe”或“spice”)和可选的该资源的标识符(“ID”)。这之外的任何事情都违反了 REST 实践,如果您没有实现 REST API,您可能需要重新考虑是否应该使用 Tastypie。

话虽如此,Tastypie 确实提供了大量用于自定义事物的钩子(Hook)。对于自定义 URL,您需要定义方法 override_urls将某些 URL 映射到自定义 View 并在将其发送给常规调度程序之前进行一些预处理。

如果可能的话,我建议只使用标准 REST 实践并将其分解为单独的“配方”和“香料”资源。如果您需要根据其中的香料过滤食谱,则应将“香料”作为 GET 参数而不是基本 URL 的一部分传入。希望有帮助。

关于Django-tastypie 创建 URL 层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558482/

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