zoukankan      html  css  js  c++  java
  • Django实现注册/登录:方法2

     1 # 注册********
     2 
     3 
     4 def userreg(request):
     5     if request.method == 'POST':
     6         dict = request.POST.dict()  # 把新用户输入的邮箱、密码、昵称等转成字典形式
     7         try:
     8             del dict['csrfmiddlewaretoken']
     9             # 保存新用户到数据库的User表 注意create
    10             user = Users.objects.create(createtime=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),**dict)  # **dict必须放到最后
    11             # 用数据库的自增长id写入字典的id
    12             dict['id'] = user.id
    13             # Users.objects.create(email=email, pwd=pwd, nicheng=nicheng) #创建一个对象实例
    14             request.session['dict'] = dict  # 设置注册session
    15             
    16             return redirect('/userlogin') #重定向至登录,实现登陆后注册
    17         except Exception as err:
    18             errStr = err.args[1]
    19             if 'emailuniq' in errStr:
    20                 return HttpResponse('<script>alert("用户名重复");location.href="/";</script>')
    21             elif 'nichenguniq' in errStr:
    22                 return HttpResponse('<script>alert("昵称重复");location.href="/";</script>')
    23     else:
    24         return HttpResponse('<script>alert("请正确提交");location.href="/";</script>')
    25 
    26 
    27 # 登录*********↓↓↓↓↓
    28 
    29 
    30 def userlogin(request):
    31     if request.method == 'POST': #判断是否是POST方式登录
    32         rs = Users.objects.filter(email=request.POST.get('email'), pwd=request.POST.get('pwd')).first()
    33         if rs != None: #如果匹配成功
    34             loginbean = {}
    35             loginbean['id'] = rs.id
    36             loginbean['nicheng'] = rs.nicheng
    37             loginbean['role'] = rs.role
    38             request.session['loginbean'] = loginbean  #保存session
    39             # return render(request, 'home.html')
    40             if rs.role > 0:
    41                 return redirect('../home')
    42             else:
    43                 return redirect('../adminspace')
    44         else:
    45             return HttpResponse('<script>alert("用户名或密码错误");location.href="/";</script>')
    46     else: #这里以下是注册传过来的
    47         dict = request.session['dict']
    48         if dict != None:
    49             loginbean = {}
    50             loginbean['id'] = dict['id']
    51             loginbean['nicheng'] = dict['nicheng']
    52             loginbean['role'] = 1
    53             request.session['loginbean'] = loginbean
    54             del request.session['dict']
    55             return render(request, 'home.html')
    56         else:
    57             return HttpResponse('<script>alert("请登录");location.href="/";</script>')
  • 相关阅读:
    动态查询 母表和子表的 一种方法
    js的一些正则 整理 长期更新
    fmt 标签格式化 日期
    一些关于 checkbox的前台 jquery 操作 记录
    jQuery 追加元素的方法如append、prepend、before,after(转)
    (Oracle)DBMS_SYSTEM工具-01[20180510]
    MySQL->元数据[20180510]
    MySQL->复制表[20180509]
    MySQL->索引的维护[20180504]
    MySQL-ALTER TABLE命令学习[20180503]
  • 原文地址:https://www.cnblogs.com/darkmoon/p/7993703.html
Copyright © 2011-2022 走看看