1

私はdjango-registrationを使用しており、settings.pyでログインとログアウトのURLを次のように設定しました

LOGIN_URL = '/users/login/'
LOGOUT_URL = '/users/logout/'

そして、私が設定したurls.pyで

url(r'^users/', include('registration.backends.default.urls', namespace='users')),

localhost:8000/users/passwords/reset にアクセスしようとするとエラーが発生する場合を除いて、すべて正常に動作します

NoReverseMatch at /users/password/reset/
Reverse for 'django.contrib.auth.views.password_reset_done' with arguments '()' and keyword arguments '{}' not found.

ただし、この行を urls.py ファイルに追加すると、すべてが正しく機能します

(r'^users/', include('registration.auth_urls')),

registration.backends.default.urls に行が含まれているため、このソリューションは私を混乱させます

(r'', include('registration.auth_urls')),

これは、プロジェクトの urls.py ファイルに追加された行と同じことを行う必要があります。プロジェクトの urls.py ファイルに行を追加するとエラーが修正されるのはなぜですか?

4

2 に答える 2

1

インクルードでnamespaceパラメーターを指定しています。reverse()これにより、特に、関数を使用するときや{% url %}テンプレートで名前空間を指定する必要があります。

詳細については、 https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespacesを参照してください。

于 2013-04-24T15:18:21.783 に答える
0

最初のものにはusers/、到達しようとしている URL 正規表現が含まれているためです。

于 2013-04-24T15:13:38.503 に答える