2

django1.4のURL反転コードで起こっている奇妙なことがいくつかあります。

と呼ばれるビューがありますsettings.views.app_view。URLを手動で入力してページを表示し、基本的なURLパターンが機能していることを確認しました。

url(r'^app/$', 'settings.views.app_view', name='settings_app_view'),

テンプレートのURLを逆にしたところ、機能します。

{% url settings_app_view %}

したがって、URLパターンは機能し、テンプレートでURLを取得し、リンクをクリックして正しいページを表示することができます。

では、reverse()を使用してビューでURLを取得できないのはなぜですか?すべてのコードは明らかにそこにあり、それだけでなく、ページを見てテンプレートのURLを逆にしたので、コードは明確に構成され、正しく機能しています。

私は何か小さなものを見逃している必要があります。誰かがそれが何であるか知っていますか?

ViewDoesNotExist at /settings/app/
Exception Value:    Could not import settings.views.app_view. View does not exist in module settings.views.

# The highlighted code
url = reverse("settings_app_view")
4

1 に答える 1

3

コードのどこで reverse() が実行されますか? Python ファイルのインポート中に reverse() が実行された場合、再帰インポートを取得できます。残念ながら、再帰的なインポートは異なる結果になる可能性があります: この属性を持つべきモジュールで AttributeError が発生する可能性があります....

参照: https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse-lazy

于 2012-04-17T13:29:45.723 に答える