zoukankan      html  css  js  c++  java
  • 注册与登录 接口与模板

    1.利用模板创建登录或注册网页数据库栏:

    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

    }
    }


    2.在myappurls.py中为了形目可添加标识语句:

    app_name='myapp'

    3.在models中添加用户表:

    class user(models.Model):
    '''
    用户表
    '''
    name=models.CharField(max_length=32)
    password=models.CharField(max_length=255)

    # python manage.py makemigrations 生成迁移文件
    # python manage.py migrate 执行迁移文件

    4.函数视图:
    from django.shortcuts import render
    from django.views import View
    from django.http import JsonResponse,HttpResponse
    from . models import * 将models中的所有导入到views中

    def register(request):  (模板)
    '''
    注册
    '''
    # 判断访问方式
    if request.method=='GET':

    # 返回页面
    return render(request,'myapp/register.html')
    elif request.method=='POST':


    print(request.POST)

    # 获取网页提交数据
    name=request.POST.get('name')
    pwd = request.POST.get('pwd')
    cpwd = request.POST.get('cpwd')
    print(name,pwd,cpwd)

    # 获取数据库内容,判断用户是否已经注册
    # 利用filter() 过滤, 过滤条件 , name=name
    # filter() 返回 queryset []

    User = user.objects.filter(name=name)

    # 如果用户存在,返回已注册 '用户已存在'
    if User.count() > 0: # True
    context = {'msg':'用户已存在'} #上下文
    return render(request,'myapp/register.html',context)

    # 如果用户不存在,添加用户,返回'注册成功'
    else:
    if pwd==cpwd:
    user.objects.create(name=name,password=pwd)
    context = {'msg':'注册成功'}
    return render(request,'myapp/register.html',context)
    else:
    context = {'msg': '密码不一致'}
    return render(request,'myapp/register.html',context)

    def register1(request):(接口)
      '''
      注册
      '''
      #判断访问方式
      if request.method=='GET':
        # 返回页面
        return JsonResponse({'msg':'访问方式不正确','code':404})
      elif request.method=='POST':
        print(request.POST)
        #获取网页提交数据
        name=request.POST.get('name')
        pwd=request.POST.get('pwd')
        cpwd=request.POST.get('cpwd')
        print(name,pwd,cpwd)
        # 获取数据库内容,判断用户是否已经注册
        # 利用filter()过滤,过滤条件,name=name
        # filter()返回querset[]
        User=user.objects.filter(name=name)

        #如果用户存在,返回已注册'用户已存在'
        if User.count()>0: # true
            #上下文
           return JsonResponse({'msg':'用户已存在','code':404})
        #如果用户不存在,添加用户,返回‘注册成功’
        else:
          if pwd==cpwd:
            User.object.create(name=name,password=pwd)
           
            return JsonResponse({'msg':'注册成功','code':200})
          else:
            return JsonResponse({'msg':用户已存在,'code':404})


    模板:
    class LoginView(View):
      '''
      登录
      @author:
      @date:
      '''
      def get(self,request):
        return render(request,'myapp/login.html')
      
      def post(self,request):
        print(request.POST)
        
        # 获取网页提交数据
        name=request.POST.get('name')
        pwd=request.POST.get('pwd')
        
        #获取数据库数据,并进行判断
        user.objects.filter(name=name).first() #取第一条数据

        #如果用户存在 判断密码是否一致
        if user:
          # 如果密码一致,跳转到首页
          if pwd==user.password:
            request.session['user_name']=user.name
            return HttpResponse('欢迎{}登录本网站'.format(request.session.get'user_name'))

          else:
            context={'msg':'用户名或者密码错误'}
            return render(request,'myapp/login.html',context)
        
          #如果用户不存在,返回用户名或者密码错误
        else:
          context={'msg':'用户名或者密码错误'}
          return render(request,'myapp/login.html',context)


    接口:
    class LoginApiView(View):
      '''
      登录
      '''
      @author:
      @date:
      '''
      def get(self,request):

        return HttpResponse(json.demp({'msg':'请求方式不对','code':404},ensure_ascil=False))

      def post(self,request):
        print(request.POST)
        
        #获取网页提交数据
        name=request.POST.get('name')
        pwd=request.POST.get('pwd')
        
        #获取数据库数据,并进行判断
        user.objects.filter(name=name).first() #取第一条数据,当取不到值时返回NULL

        #如果用户存在,判断密码是否一致
        if user:
          #如果密码一致,跳转到网页
          if pwd==user.password:
            request.session['user_name']=user.name
            return HttpResponse(json.dumps({'msg':'登陆成功','code':200}))
          else:
            return render(request,'myapp/login.html',context)
        #如果用户不存在,返回用户或者密码错误
        else:
           context = {'msg':'用户名或者密码错误'}
           return render(request,'myapp/login.html',context)
        


     
     



  • 相关阅读:
    Mac下安装zsh(Oh My ZSH)的shell,替代原有的bash
    Mac下配置环境变量重启后不生效解决(.bash_profile vs .bashrc)(bash/zsh下不加载.bashrc问题解决)
    Mac下配置环境变量(转)
    Jenkins配置Publish Junit test result report(转)
    Mac下配置Java Web开发环境(Mac 10.12)
    Mac下配置idea(Mac 10.12)
    Sublime Text 3安装插件(Mac 10.12)
    Sublime Text 3新建工程
    Mac下快速新建txt文件
    Mac下配置maven和集成到ecclipse(Mac 10.12)
  • 原文地址:https://www.cnblogs.com/fado7/p/12078045.html
Copyright © 2011-2022 走看看