gpt4 book ai didi

django - Reverse_lazy 和 URL 加载?

转载 作者:行者123 更新时间:2023-12-03 22:22:36 24 4
gpt4 key购买 nike

我正在尝试围绕 Django 概念进行思考,但我对 URLResolver reverse_lazy() 感到困惑。据我所知,当我想反向到尚未加载的URL时,我必须使用reverse_lazy()。所以当我创建一个 CBV 并声明一个 success_url 时,我使用了 reversy_lazy。这意味着文件执行时不会导入 url。

这让我感到困惑,因为我认为服务器在执行任何操作之前启动时会加载所有 URL。那么为什么 URL 没有在执行时加载呢?

如果有人能给我一个答案,我会很高兴。

最佳答案

嗯,首先,URL 解析器本身是惰性的,所以加载发生在第一次调用 resolve() 时。或 reverse()进行(通常在第一个请求时)。但这在这种情况下并不重要。

当 URL 解析器被初始化时,它会导入您的 URL 配置,进而导入您的 View 。所以在你的 View 被导入和 success_url 的时候设置后,解析器只进行了一半的初始化。调用 reverse()此时将不起作用,因为解析器还没有反转 View 名称的所有信息。

关于django - Reverse_lazy 和 URL 加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45649804/

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