2017-08-29 3 views
0

電子メール経由または電子メールオプションなしでリセットリンクを送信せずにdjangoの組み込みパスワードリセット機能を使用する方法はありますか?私は現在、電子メールを送信する必要のない少数のユーザーとシンプルなシステムを開発中です。事前にお礼します。Eメール経由でリセットリンクを送信せずにDjangoのデフォルトのパスワードリセットを使用する方法はありますか?

答えて

1

あなたがフォームでパスワードを変更することができますし、views.py内の関数に

make_password()を使用し

if passwordForm.is_valid(): 
       password = passwordForm.cleaned_data['password'] 
       request.user.password = make_password(password) 
       request.user.save() 

[make_password] [1] https://docs.djangoproject.com/en/1.11/topics/auth/passwords/

+1

ありがとうございます、あなたが言った解決策を見つけました。私は答えとしてあなたの提案をマークしています。 – Jishnu

0

私はdjangoに精通していませんが、アクセスが得られた場所ユーザー、さらには初期の管理者、パスワードのリセットを介して。これらのすべてのケースでは、作業方法は同様です。リセットリンクは、URLスタブとどこかのデータベーステーブルにある一意のキーから形成されます。手動でリンクを組み立てて使用してもうまくいきましたが、あるシステムではemailsentdateカラムを使用していましたが、何もしなかった場合は何もしなかったので、単純なアプローチで成功しない場合は同様のものを確認してください。

Ifあなたは絶対に電子メールサーバーを持っていなければなりません、smtpdevのようなdevの使用のために意図された単純なものが存在します、彼らは1つを要求するアプリをだますsmtpサーバーのように振る舞いますが、 。デバッグのために意図したものではなく、あなたを助けるかもしれないDjangoは1が設定されていることを主張場合は、実際のメールサーバのように見えること

2

はでいくつかのオプションがあります。パスワードを変更して電子メールを送信する必要がなくなります。

  • パスワードチェンジフォーム:ユーザーが以前のパスワードを入力してパスワードを変更できるようにするフォーム。
  • SetPasswordForm:ユーザーの変更は、古いパスワード

を入力せずに自分のパスワードを設定するあなたは、ユーザーのパスワードを変更するには、あなたのビューでそれらのいずれかを実装することができますフォーム。

関連する問題