django 登录、注册系统

//和admin模块共用登录模块也行:path('accounts/', admin.site.urls),在urls.py中添加这语句,其他什么都不用改。
//以下自己建一个快速的登陆、注册模块,和系统auth模块结合
1、settings.py,默认这几项有

要用session,密钥必须要有,用来加密cookie

SECRET_KEY = '))abcdabcdv^&bqz)n!upsna6h1f$abcdeg4kv68f_c1a)#&mb'
INSTALLED_APPS = [
...
'django.contrib.auth',
'django.contrib.sessions',
]
MIDDLEWARE = [
...
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
]
2、总urls.py
path(r'accounts/', include('django.contrib.auth.urls')),
//默认,
accounts/ login/ [name='login']
accounts/ logout/ [name='logout']
accounts/ password_change/ [name='password_change']
accounts/ password_change/done/ [name='password_change_done']
accounts/ password_reset/ [name='password_reset']
accounts/ password_reset/done/ [name='password_reset_done']
accounts/ reset/// [name='password_reset_confirm']
accounts/ reset/done/ [name='password_reset_complete']
3、auth的模板yourapps/templates/registration
登录:login.html
登出:logout.html
密码重置申请表单:password_reset_form.html
密码重置提交完成:password_reset_done.html
密码重置邮件:password_reset_email.html
输入新密码并重置:password_reset_cofirm.html
密码重置完成(成功):password_reset_complete.html
4、login.html
{% if form.errors %}

用户名密码错误,请重试.


{% endif %}

{% if next %}
{% if user.is_authenticated %}

你的帐号无权访问该页面,请使用有权限的帐号登录.


{% else %}

Please login to see this page


{% endif %}
{% endif %}

{% csrf_token %}

{{ form.username.label_tag }}{{ form.username }}


{{ form.password.label_tag }}{{ form.password }}






忘记密码


5、logout.html

Logged out



6、password_reset_form.html
{% csrf_token %}
{% if form.email.errors %}{{ form.email.errors }}{% endif %}

{{ form.email }}




7、password_reset_done.html

已将重置密码链接发到了你邮箱,若几分钟还未收到,请查看垃圾箱


8、password_reset_email.html
为 {{ email }}重置密码.请点击如下链接:
{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
9、password_reset_cofirm.html
{% if validlink %}

请输入新密码.



















{{ form.new_password1.errors }}
{{ form.newpassword1 }}
{{ form.new_password2.errors }}
{{ form.newpassword2 }}


{% else %}

密码重置失败!


该重置密码链接可能已被使用,请重新申请重置。


{% endif %}
10、password_reset_complete.html

已将重置密码链接发到了你邮箱,若几分钟还未收到,请查看垃圾箱


11、在需要登录的方法中添加装饰器
from djanco.contrib.auth.decorators import login_required
@login_required
def myview(request):
return render_to_response('index.html')

你可能感兴趣的:(django 登录、注册系统)