项目运行
需要先安装Python的相关依赖:django==3.2.8, pymysql,simpleui,django-import-export使用pip install 安装
第一步:创建数据库
第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句
第三步:修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码
第四步:运行命令:python manage.py runserver 8000
第五步:打开浏览器查看http://127.0.0.1:8000
测试账户
账户: 用户名:admin 密码:123
毕设帮助,指导,本源码分享,调试部署(见文末)
系统介绍:
本系统的前台界面使用了最新的HTML5技术,使用DIV+CSS进行布局,使整个前台页面变得更美观,极大的提高了用户的体验,另外本系统无论是使用电脑的浏览器进行访问还是使用移动设备进行访问,都可以保证网站正确的排版。后端的代码技术选择的是PYTHON,PYTHON语言是当下最常用的编程语言之一,可以保证系统的稳定性和流畅性,PYTHON可以灵活的与数据库进行连接。本系统的数据使用的MYSQL数据库,它可以提高查询的速度,增强系统数据存储的稳定性和安全性。
功能截图:
编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。
代码实现:
import time
from django.shortcuts import render
from .models import User
from django.http import JsonResponse, HttpResponseRedirect
from django.core.paginator import Paginator
from utils.common import login_request
def register(request):
"""
注册账号
:return:
"""
try:
name = request.POST.get('username')
passwd = request.POST.get('password')
phone = request.POST.get('phone','123')
email = request.POST.get('email','1@qq.com')
role = request.POST.get('role',2)
user_obj = User.objects.filter(name=name).first()
if user_obj:
return JsonResponse({'message': '用户已存在,请直接登录'}, status=403)
User.objects.create(
name=name,
password=passwd,
phone=phone,
email=email,
role_id=role,
description=''
)
response_data = {'msg': '注册成功!'}
return JsonResponse(response_data)
except Exception as e:
print(e)
return JsonResponse({'message': '注册失败'}, status=401)
@login_request
def password(request):
username = request.session.get('username','')
role = int(request.session.get('role',3))
user_id = request.session.get('user_id',1)
return render(request, 'modify_password.html', locals())
def get_user(request):
"""
获取用户列表信息 | 模糊查询
:param request:
:return:
"""
keyword = request.GET.get('name')
page = request.GET.get("page", '')
limit = request.GET.get("limit", '')
response_data = {}
response_data['code'] = 0
response_data['msg'] = ''
data = []
if keyword is None:
results_obj = User.objects.all()
else:
results_obj = User.objects.filter(name__contains=keyword).all()
paginator = Paginator(results_obj, limit)
results = paginator.page(page)
if results:
for result in results:
record = {
"id": result.id,
"name": result.name,
"password": result.password,
"email": result.email,
"phone": result.phone,
"role": result.role.name,
'create_time': result.create_time.strftime('%Y-%m-%d %H:%m:%S'),
"desc": result.description,
}
data.append(record)
response_data['count'] = len(results_obj)
response_data['data'] = data
return JsonResponse(response_data)
@login_request
def user(request):
"""
跳转用户页面
"""
username = request.session.get('username','')
role = int(request.session.get('role',3))
user_id = request.session.get('user_id',1)
return render(request, 'user.html', locals())
def login_check(request):
"""
登录校验
"""
response_data = {}
name = request.POST.get('username')
password = request.POST.get('password')
user_obj = User.objects.filter(name=name, password=password).first()
if user:
# 将用户名存入session中
request.session["username"] = user_obj.name
request.session["role"] = user_obj.role.id
request.session["user_id"] = user_obj.id
response_data['msg'] = '登录成功'
return JsonResponse(response_data, status=201)
else:
return JsonResponse({'message': '用户名或者密码不正确'}, status=401)
def edit_user(request):
"""
修改用户
"""
response_data = {}
user_id = request.POST.get('id')
username = request.POST.get('username', '')
phone = request.POST.get('phone', '')
User.objects.filter(id=user_id).update(
name=username,
phone=phone)
response_data['msg'] = '编辑成功!'
response_data['error'] = 0
return JsonResponse(response_data, status=201)
def del_user(request):
"""
删除用户
"""
user_id = request.POST.get('id')
result = User.objects.filter(id=user_id).first()
try:
if not result:
response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}
return JsonResponse(response_data, status=403)
result.delete()
response_data = {'message': '删除成功!'}
return JsonResponse(response_data, status=201)
except Exception as e:
response_data = {'message': '删除失败!'}
return JsonResponse(response_data, status=403)
def change_password(request):
"""
修改密码
"""
user_obj = User.objects.filter(name=request.session["username"]).first()
password1 = request.POST.get('password2')
password2 = request.POST.get('password2')
if password1 != user_obj.password:
return JsonResponse({"msg": "原密码不正确!"}), 405
if user_obj.password == request.POST.get('password2'):
# 修改的密码与原密码重复不予修改
return JsonResponse({"msg": "修改密码与原密码重复"}), 406
else:
# 不重复,予以修改
User.objects.filter(name=request.session["username"]).update(
password=password2)
# 清除session回到login界面
del request.session['username']
return JsonResponse({"msg": "success"})
源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻