| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- from django.shortcuts import render, redirect
- from .form import UserLoginForm, UserRegisterForm
- from django.contrib.auth import authenticate, login, logout
- from django.http import HttpResponse
- def user_login(request):
- if request.method == 'POST':
- user_login_form = UserLoginForm(request.POST)
- if user_login_form.is_valid():
- # 清洗出合法的数据
- data = user_login_form.cleaned_data
- # 检测账号密码是否匹配数据库中的一个用户
- # 如果均匹配,则返回此User对象
- user = authenticate(username=data['username'], password=data['password'])
- if user:
- login(request, user)
- return redirect("chat:index")
- else:
- return HttpResponse("账号或密码输入不正确,请重新输入")
- else:
- return HttpResponse("输入不合法,请重新输入")
- elif request.method == 'GET':
- user_login_form = UserLoginForm()
- context = {'form': user_login_form}
- return render(request, 'login.html', context)
- else:
- return HttpResponse("请使用GET或者POST请求数据")
- def user_logout(request):
- logout(request)
- return redirect("chat:index")
- def user_register(request):
- if request.method == 'POST':
- user_register_form = UserRegisterForm(data=request.POST)
- if user_register_form.is_valid():
- new_user = user_register_form.save(commit=False)
- new_user.set_password(user_register_form.cleaned_data['password'])
- new_user.save()
- return redirect("account:login")
- else:
- return HttpResponse('注册表单输入有误,请重新输入')
- elif request.method == 'GET':
- user_register_form = UserRegisterForm()
- context = {'form': user_register_form}
- return render(request, 'register.html', context)
- else:
- return HttpResponse('请使用POST或GET请求数据')
|