我在 get_absolute_url
内使用过反向模型中的方法,但我希望我对反向和重定向之间的区别有所了解,我试图在谷歌上搜索它,但几乎没有
我不知道我还应该写些什么来说服堆栈溢出我没有任何其他描述
最佳答案
反向和重定向具有不同的含义。这是一个简单的解释:reverse
在 Django 中用于查找给定资源的 URL。假设您有一个博客网站,并且您想在主页上提供指向您的博客文章的链接。你当然可以硬编码 /posts/123/
并且只需在 URL 中更改您的博客文章的 ID,但这使得将来很难更改您的文章 URL。这就是 Django 带有反向功能的原因。您需要做的就是传递您的 URL 路径的名称(在您的 urlpatterns
中定义),Django 将为您找到正确的 URL。之所以称为反向,是因为它是确定应为给定 URL 调用哪个 View 的反向过程(该过程称为解析)。
重定向并非特定于 Django 或任何其他 Web 框架。重定向意味着对于给定的 URL(或操作),应该指示用户访问特定的 URL。这可以通过发送一个特殊的重定向请求来完成,浏览器将从那里为用户处理它,因此在该过程中不需要用户操作。您可以在重定向过程中使用 reverse 来确定用户应该重定向到的 URL。
关于django - 重定向 vs 反向 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54964703/