我正在使用 djangio-localeurl 根据我的 URL 提供区域切换。除了有点打嗝之外,它几乎可以正常工作。
在我的一些基于类的视图中,我一直在使用惰性反向函数,否则我会收到有关缺少 URL 模式的错误。这是由于文件导入的顺序造成的。一种解释如下:
由于在解析 urls.py 期间会评估视图的装饰器,因此您遇到了“鸡 - 蛋”问题。由于未读取 urls.py,因此无法使用方法 reverse()。
似乎 django-localeurl 猴子补丁 Django 的内部reverse
功能。此更改工作正常,但我的lazy_reverse
功能给我带来了问题。现在,当我运行测试时,我在使用此lazy_reverse
功能的地方出现错误。这是我的lazy_reverse
功能代码:
from django.utils.functional import lazy
from django.core import urlresolvers
reverse_lazy = lambda name=None, *args : lazy(urlresolvers.reverse, str)(name, args=args)
我不断收到的错误是:
TypeError: Lazy object returned unexpected type.
我似乎可以理解是什么原因造成的。localeurl
当我从我的INSTALLED_APPS
设置中删除时,这个问题似乎消失了。
关于如何解决这个问题的任何想法?
谢谢