from django.shortcuts import render,HttpResponse,redirect,reverse
from django.views.generic.base import View
from app01 import models
from django.http import HttpResponseRedirect
import hashlib
# Create your views here.
class Index():
@staticmethod
def get_pwd_md5(password):
md5_obj = hashlib.md5()
md5_obj.update(password.encode('utf-8'))
salt = '张晨好帅'
md5_obj.update(salt.encode('utf-8'))
return md5_obj.hexdigest()
@staticmethod
def index(request):
return render(request,'index.html')
class LoginView(View):
def get(self, request, *args, **kwargs):
return render(request, 'login.html')
def post(self, request, *args, **kwargs):
if self.request.method == 'POST':
# 获取用户输入的账号和密码
username = self.request.POST.get('username')
password = self.request.POST.get('password')
# 去models去查询
user_obj = models.UsersInfo.objects.filter(username=username).first()
if user_obj:
password = Index.get_pwd_md5(password)
if password == user_obj.password:
next = request.GET.get("next", "")
if next:
return HttpResponseRedirect(next)
return HttpResponseRedirect(reverse("index"))
else:
return HttpResponse('密码错误')
else:
return HttpResponse('不存在')
return render(request, 'login.html', locals())
class RegisterView(View):
def get(self,request,*args,**kwargs):
return render(request,'register.html')
def post(self, request, *args, **kwargs):
if self.request.method == 'POST':
username = self.request.POST.get('username')
password = self.request.POST.get('password')
user_obj = models.UsersInfo.objects.filter(username=username).first()
password = Index.get_pwd_md5(password)
if not user_obj:
user_obj = models.UsersInfo(username=username, password=password)
user_obj.save()
return redirect('/index/')
return HttpResponse('用户已存在')
return render(request, 'register.html', locals())