python Django垃圾分类系统(毕设、课设、学习)

python Django垃圾分类系统
python Django垃圾回收系统
python 校园垃圾分类系统
后端:python 3.7+Django3.2
前端:html  js  css等
数据库:MySQL
功能:注册、登录、修改密码、个人中心、查看垃圾类别、查看垃圾回收点、对某个垃圾回收点投放垃圾、查看投放记录、数据分析。
管理员可以新增垃圾回收点、管理普通用户、查看所有人的投放记录。
源码下载:如果提示验证码错误,请手动输入

链接:https://pan.baidu.com/s/1_22WzGhH9a0qbHZQ9H15ww?pwd=aeca 
提取码:aeca

注册代码展示:

# 普通用户注册
def common_register(request):
    name = request.POST.get("common_name")  # 获取用户输入的姓名
    id = request.POST.get("common_id")  # 获取用户输入的昵称
    address = request.POST.get("common_address")  # 获取用户输入的地址
    email = request.POST.get("common_email")  # 获取用户输入的邮箱
    telephone = request.POST.get("common_telephone")  # 获取用户输入的手机号
    ret = re.match(r"^1[35678]\d{9}$", telephone)  # 验证手机号
    password = request.POST.get("common_password")  # 获取用户输入的密码
    result1 = User.objects.filter(account=telephone)  # 在用户表中查询该手机号的记录
    result2 = Common.objects.filter(common_id=id)  # 在普通用户信息表中查询该昵称的记录
    context = {}
    if ret:  # 判断该手机号格式是否正确
        if len(result1) == 1:  # 判断该手机号是否存在(即判断是否注册过),如果后台存在记录,则返回相应的提示语句
            context["info"] = "该手机号已注册!!!"
            context["status"] = 0  # 零表示注册失败
            return render(request, 'login.html', context=context)
        else:  # 该账号是新用户
            if len(result2) == 1:  # 判断该昵称是否有用户已使用
                context["info"] = "该昵称已占用!!!"
                context["status"] = 4
                return render(request, 'login.html', context=context)
            else:
                User.objects.create(account=telephone, user_password=password, user_identity='用户')  # 用create为user表添加一条记录
                Common.objects.create(common_name=name, common_id=id, common_address=address, common_tel=telephone, common_email=email)  # 用create为common表添加一条记录
                context["info"] = "注册成功!"
                context["status"] = 1  # 1表示注册成功
                return render(request, 'login.html', context=context)
    else:
        context["info"] = "手机号格式错误!!!"
        context["status"] = 6
        return render(request, 'login.html', context=context)
# 管理员注册
def manager_register(request):
    id = request.POST.get("manager_id")  # 获取管理员输入的昵称
    telephone = request.POST.get("manager_telephone")  # 获取管理员输入的手机号
    ret = re.match(r"^1[35678]\d{9}$", telephone)  # 验证手机号
    result1 = User.objects.filter(account=telephone)  # 在用户表中查询该手机号的记录
    result2 = Manager.objects.filter(manager_id=id)  # 在管理员信息表中查询该昵称的使用记录
    name = request.POST.get("manager_name")  # 获取管理员输入的姓名
    email = request.POST.get("manager_email")  # 获取管理员输入的邮箱
    password = request.POST.get("manager_password")  # 获取管理员输入的密码
    context = {}
    if ret:  # 判断该手机号格式是否正确
        if len(result1) == 1:  # 判断该手机号是否存在(即判断是否注册过),如果后台存在记录,则返回相应的提示语句
            context["info"] = "该手机号已注册!!!"
            context["status"] = 0  # 零表示注册失败
            return render(request, 'login.html', context=context)
        else:  # 该账号是新用户
            if len(result2) == 1:  # 判断该昵称号是否有管理员已使用
                context["info"] = "该昵称已占用!!!"
                context["status"] = 5
                return render(request, 'login.html', context=context)
            else:
                User.objects.create(account=telephone, user_password=password, user_identity='管理员')  # 用create为user表添加一条记录
                Manager.objects.create(manager_name=name, manager_id=id, manager_tel=telephone, manager_email=email)  # 用create为manager表添加一条记录
                context["info"] = "注册成功!"
                context["status"] = 1  # 1表示注册成功
                return render(request, 'login.html', context=context)
    else:
        context["info"] = "手机号格式错误!!!"
        context["status"] = 6
        return render(request, 'login.html', context=context)

登录代码展示:

# 登入判定
def login_judge(request):
    global account, global_cname, global_mname  # 定义全局变量account,存储该用户的账号,global_cname保存普通用户的姓名,global_mname保存管理员的姓名
    account = request.POST.get("telephone")  # 获取前端输入的手机号
    user_password = request.POST.get("password")  # 获取前端输入的密码
    result = User.objects.filter(account=account)  # 在user表里查询是否存在该账号
    if len(result) == 1:  # 判断后台是否存在该用户,有则进一步判断密码是否正确
        password = result[0].user_password  # 获取后台的密码
        identity = result[0].user_identity  # 获取该账号的身份信息
        if user_password == password:  # 将用户输入的密码和后台密码进行比对,如果密码一致,判断该账号身份
            if identity == '用户':
                result1 = Common.objects.filter(common_tel=account)
                global_cname = result1[0].common_name  # 用全局变量保存一下该用户的姓名
                context = {
                    "name": result1[0].common_name,
                    "id": result1[0].common_id,
                    "address": result1[0].common_address,
                    "telephone": result1[0].common_tel,
                    "email": result1[0].common_email,
                    "integral": result1[0].common_integral,
                }
                return render(request, 'common/common_information.html', context)  # 跳转到用户主界面
            else:
                result2 = Manager.objects.filter(manager_tel=account)  # account为全局变量
                global_mname = result2[0].manager_name  # 用全局变量保存一下该管理员的姓名
                context = {
                    "name": result2[0].manager_name,
                    "id": result2[0].manager_id,
                    "telephone": result2[0].manager_tel,
                    "email": result2[0].manager_email,
                }
                return render(request, 'manager/manager_information.html', context)  # 跳转到管理员主界面
        else:  # 如果密码不一致,则返回相应提示语句
            context = {
                "info": "密码错误!!!",
                "status": 2
            }
            return render(request, 'login.html', context=context)  # 密码错误返回到登入界面
    else:  # 如果不存在该用户则返回相应的提示语句
        context = {
            "info": "该账号不存在!!!",
            "status": 3
        }
        return render(request, 'login.html', context=context)  # 账号不存在则返回到登入界面

你可能感兴趣的:(Django,python,django,开发语言)