【发布时间】:2011-11-15 07:30:01
【问题描述】:
我正在使用 djangio-localeurl 来根据我的 URL 提供区域切换。除了有点打嗝之外,它几乎可以正常工作。
在我的一些基于类的视图中,我一直在使用惰性反向函数,否则我会收到有关缺少 URL 模式的错误。这是由于文件导入的顺序造成的。一种解释如下:
由于您的视图的装饰器在解析过程中被评估 urls.py 你有一个“鸡 - 鸡蛋”的问题。方法 reverse() 无法使用,因为没有读取 urls.py。
似乎 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.
我似乎可以理解是什么原因造成的。当我从 INSTALLED_APPS 设置中删除 localeurl 时,此问题似乎消失了。
关于如何解决这个问题的任何想法?
谢谢
【问题讨论】:
标签: python django django-localeurl