为什么带有命名 url 的 /() 可以工作? 有什么方法可以做到这一点?

现在,我有两个 url,其中 name=body-part- (这可能是错误的?)。 尽管如此,它还是成功了,因为它获取第二个 url 并使用 slug 组件返回所需的 URL。 为什么这有效? 在这种情况下我只是“幸运”吗(引用是因为程序不应该幸运!)?

最后,SO 和 Web 上有几个地方提供了共享名称关键字 arg 的 url 示例。 例如,这里的答案:进入? 这是错误/坏的吗?

该函数识别出您有 id 和 slug 以及模式名称 body-part- 并返回与这些名称和该名称相对应的唯一 url。 你运气不好,这就是它的设计目的。

您可能可以对许多模式使用相同的名称,但我不认为它的设计目的是这样做(我可以看到一个非常旧的错误票,建议实施检查以确保存在 \ 且没有任何重复项)。 我怀疑如果您为每个模式使用唯一的名称,您的应用程序将更容易维护。 查看文档以获取更多信息。

在 () 调用中,您传递两个参数。 因此它发现它无法将其与第一个 URL 匹配,因为尽管名称正确,但该 URL 只有一个 URL 参数。 因此它必须与第二个 URL 相匹配。

可选的 URL 模式是可能的,但最好为每个 URL 指定一个唯一的名称,并使用该名称来反转 URL。 这消除了解析 URL 时的任何歧义,并且还使您和其他开发人员更容易理解代码。

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注