django registration redux のlocalでの設定
django registration redux
簡単にいうと、django-registrationに、メール認証機能をつけたモジュール。導入もお手軽。
参照にしたサイト
公式サイト: django-registration-redux 1.4 documentation — django-registration-redux 1.4 documentation
CodingEntrepreneurs:
Try Django 1.8 Tutorial - 27 of 42 - Django Registration Redux - Learn Django - YouTube
動画がめちゃわかりやすいので、オススメです!
localでのハマりポイント
activation_email.txtが以下のようになっているはず。
http://{{ site.domain }}{% url 'registration_activate' activation_key %}
site.domain は、djangoのadminを作った時(?)に一緒に作られている、サイトのドメイン名というフィールド。 デフォルトで、example.comが登録されている。このままだとメールのactivattionのリンクが、http://example.com{% url 'registration_activate' activation_key %} になってしまうため、うまく認証できない。
siteのドメイン名の設定と、settings/local.py の設定
adminから、siteのドメイン名と表示名を以下のような感じで登録する。
ドメイン名:127.0.0.1:8000 表示名:local(こっちは何でもいい)
上記のドメインのdjangoデータベース上でのidを確認して、settings/local.pyに代入する。
#DJANGO REGISTRATION REDUX SETTINGS ACCOUNT_ACTIVATION_DAYS = 7 REGISTRATION_AUTO_LOGIN = True SITE_ID = 2 LOGIN_REDIRECT_URL = '/'
ここのSITE_ID の所に、siteのid(pk)を入れる。
これで、activation linkが、
http://127.0.0.1:8000{% url 'registration_activate' activation_key %}
になり、localでの動作の確認が可能になる。