一、Password Hashing、Password Validators都可以自己设置,具体看文档
二、user模型——django.contrib.auth.models.User
1.user模型有5个关键属性: username、password、email address、first name、surname,其他的还有is_active、is_staff、is_superuser等
2.为原来的user模型添加附加字段,需要添加一个一对一的field,然后继续编写需要增加的字段,避免直接继承,防止多个应用直接的冲突
class UserProfile(models.Model):
user=models.OneToOneField(User)
website=models.URLField(blank=True)
#设置upload_to='profile_images' ,会把图片上传、存储至与MEDIA_ROOT连接后的目录
picture=models.ImageField(blank=True,upload_to='profile_images')
三、创建register的视图、模型、表格
四、登录login
def user_login(request):
if request.method=='POST':
username=request.POST.get('username')
password=request.POST.get('password')
user=authenticate(username=username,password=password)
if user:
if user.is_active:
login(request,user)
print('登录成功')
return HttpResponseRedirect(reverse('rango:index'))
else:
return HttpResponse("账户不可用!")
else:
print('无效的登录信息,{0},{1}'.format(username,password))
return HttpResponse("无效的登录信息!")
else:
return render(request,'rango/login.html',{})
五、使用@login_required装饰器,并设置LOGIN_URL
六、退出登录logout(request)