djangio-localeurlを使用して、自分のURLに基づいてロケールを切り替えることができます。それはちょっとした問題からかなりうまく動作します。django-localeurlを使用しているときにlazy reverseを使用できない
私のクラスベースのビューの中には、遅延逆関数を使用しているものがあります。それ以外の場合は、URLパターンが見つからないというエラーが表示されます。これは、ファイルがインポートされた順序によるものです。 1つの説明を読む:
urls.pyの解析中にビューのデコレータが評価されるため、「鶏卵」の問題があります。 urls.pyが読み込まれないため、reverse() メソッドは使用できません。
django-localeurlモンキーパッチはDjangoの内部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.
私はこれを引き起こしているかを理解するように見えることができます。ここに私lazy_reverse
機能コードです。この問題は、INSTALLED_APPS
設定からlocaleurl
を削除した時点で消えているようです。
これを解決する方法についてのご意見はありますか?
ありがとうございます。