登录 注册

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())
posted @ 2020-05-28 19:03  小子,你摊上事了  阅读(70)  评论(0)    收藏  举报