2017-07-21 8 views
0

モバイルアプリケーションのRESTful APIを構築するためにDjangoを使用していますが、認証にdjango rest-authライブラリを使用していますが、パスワードリセットを使用すると次のエラーが発生します。Django rest-auth password resetが動作しません

私は(スニペットでは、この第一のパターンを追加するなど)、ここで述べたいくつかの解決策を試してみましたが、それでも同じエラーを持つ私のURLパターン

url(r'^', include('django.contrib.auth.urls')), 
url(r'^auth/', include('rest_auth.urls')), 
url(r'^auth/registration/', include('rest_auth.registration.urls')), 

からこのスニペットを考えると

NoReverseMatch at /auth/password/reset/ 
Reverse for 'auth_password_reset_confirm' with arguments '(b'OQ', '4nx- 
6653c24101b5443f726b')' and keyword arguments '{}' not found. 0 pattern(s) 
tried: [] 

+0

他のエンドポイントは機能していますか? POSTやいくつかのサンプルデータのように、リクエストの詳細を教えてください。 – FBidu

+0

最初のURLをコメントアウトしてみてください。すべてをキャッチしている可能性があります。それが助けにならない場合、あなたのURLへのアクセス方法についてもっと投稿してください。 –

+1

@FBiduはい、API全体がうまくいきます。ログインと登録も動作しています。残りのauth libパスワードリセットの場合は、電子メールアドレス) –

答えて

0

これを試してみてください。Settings.pyで :このエラーは、あなたが定義されていないことを再度

+0

コード例を参考にしてください。 – onetwo12

0

を試し、その後「アプリ」はインストール済みのアプリケーションの末尾にある

ていることを確認しますこの名前のURLはauth_password_reset_confirmなので、この名前のURLを作成する必要がありますauth_password_reset_confirm

このようにしてdjango rest-authをカスタマイズする必要があります。で

残り-AUTH> urls.py

urlpatterns = [ 
    .... 
    url(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', PasswordResetConfirmView.as_view(), 
    name='auth_password_reset_confirm'), 
    .... 
] 

、この場合には、あなたがnameauth_password_reset_confirmように置く参照してください。私の場合、この逆URLのエラーはpassword_reset_confirmです。私はURLに名前を付けます。

しかし、あなたの場合はauth_password_reset_confirmになります。