Django框架之views(业务逻辑)简单后台注册业务逻辑详细描述


from django.shortcuts import render,HttpResponse,HttpResponseRedirect
import models
from django.db.models import Q  # 模糊查询使用的对象
from django.core.paginator import Paginator,InvalidPage,EmptyPage,PageNotAnInteger    # 分页使用的类和异常处理的包
from django.contrib import auth      # 登录,退出,验证使用的包
from django.contrib.auth.decorators import login_required       # 防止未登录就直接访问后台页面使用的包
from django.contrib.auth.models import User        # 引入用户表
from django.contrib.auth.hashers import make_password    # 密码加密使用的包
import os
import uuid   # 生成唯一标识符
# 注册页面
def reg(request):
    if request.method == 'POST':
        # 收集用户信息
        username = request.POST.get('username',None)
        password1 = request.POST.get('password1',None)
        password2 = request.POST.get('password2',None)
        nick = request.POST.get('nick',"")
        phone = request.POST.get('phone',"")
        print username
        if username and password1 and password2:
            if password1 == password2:
                # 判断用户名在用户表中是否存在
                u_count = User.objects.filter(username=username).count()    # 查看结果记录条数
                if u_count == 0:   # 没有这个用户名
                    # 添加自带用户表
                    user_info = {
                        'username':username,
                        'password':make_password(password2)
                    }
                    user_info = User.objects.create(**user_info)
                    # 添加扩展表的扩展信息
                    user_profile={
                        'nick':nick,
                        'phone':phone,
                        'user':user_info
                    }
                    models.UserProfile.objects.create(**user_profile)
                    return HttpResponseRedirect('/pro01/login/')
                else:
                    return render(request, 'pro01/reg.html', {'error': '用户名已存在'})
            else:
                return render(request,'pro01/reg.html',{'error':'两次密码不相同'})
    else:
        return render(request,'pro01/reg.html')
# ajax验证用户名是否存在

def checkname(request):
    # 获取ajax传递的name
    name = request.GET.get('name',None)
    res = models.User.objects.filter(username=name).count()   # 受影响行数
    if res == 0:
        return HttpResponse('ok')
    else:
        return HttpResponse('用户名已经存在')

注意:以上内容是个人使用的随手记录, 就是介绍了下简单的使用

欢迎大家来吐槽,准备好瓜子饮料矿泉水,开整!!!

---------------------------------------------------------------------------------------

搞笑:能动手就尽量别吵吵


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值