Djangoroidの奮闘記

python,django,angularJS1~三十路過ぎたプログラマーの奮闘記

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での動作の確認が可能になる。