import datetime
import json
from django.db import connection
from django.http import JsonResponse
from django.shortcuts import render, redirect
from django.views.decorators.csrf import csrf_exempt
from user_management.connect_db import database_initialization, insert_data, delete_data, update_data, query_data,query_default
config = {
'host': 'localhost',
'user': 'root',
'password': '123456', # 数据库密码
'database': 'inventory'
}
# 初始化函数
def initialization(request):
database_initialization(config)
return redirect('/LoginPage/')
# 登录页面
def login_view(request):
return render(request, 'LoginPage.html')
# 用户页面
def user_view(request):
return render(request, 'UserPage.html')
# 管理员页面
def admin_view(request):
return render(request, 'AdminPage.html')
# 用户登录
def user_login(request):
if request.method == 'POST':
# 获取请求中的数据
username = request.POST.get('username')
password = request.POST.get('password')
# 检查输入是否为空
if not username or not password:
return JsonResponse({"result": "false", "message": "账号和密码不能为空"})
# 查询数据库检查用户名和密码
result = query_data(config, 'users', '*', f"username = '{username}'")
if result:
user_info = result["message"][0] # 提取存储的密码、real_name 和 position
# 检查密码是否匹配(假设密码是经过哈希存储的,下面为直接对比明文密码)
if password == user_info["password"]:
# 密码匹配,返回成功,并带上用户信息
return JsonResponse({
"result": "true",
"message": "登录成功",
"id": user_info["id"],
"name": user_info["name"],
"position": user_info["position"]
})
else:
# 密码错误
return JsonResponse({"result": "false", "message": "密码错误"})
else:
# 用户名不存在
return JsonResponse({"result": "false", "message": "用户名不存在"})
else:
return JsonResponse({"result": "false", "message": "请求方法错误"})
# 添加用户
def add_user(request):
try:
data = json.loads(request.body.decode('utf-8'))
# 提取数据字段
user_data = {
"name": data.get("name"),
"username": data.get("username"),
"password": data.get("password"),
"position": data.get("position")
}
# 插入数据库
result = insert_data(config, "users", user_data)
if result["result"]:
return JsonResponse({"result": True, "message": f"用户添加成功"})
else:
return JsonResponse({"result": False, "message": f"添加失败: {result['message']}"})
except Exception as e:
return JsonResponse({"result": "error", "message": f"请求处理失败: {str(e)}"})
# 获取用户数据
def get_user(request):
try:
result = query_data(config, 'users')
return JsonResponse(result)
except Exception as e:
return JsonResponse({
'result': False,
'message': str(e)
})
# 删除用户
def del_user(request):
try:
data = json.loads(request.body.decode('utf-8'))
user_id = data.get('id')
if not user_id:
return JsonResponse({'result': False, 'message': '缺少用户ID'})
conditions = {'id': user_id} # 传字典
res = delete_data(config, "users", conditions)
return JsonResponse(res)
except Exception as e:
return JsonResponse({'result': False, 'message': str(e)})
# 添加库存
def add_resource(request):
try:
data = json.loads(request.body.decode('utf-8'))
resource_name = data.get('resource_name')
quantity = data.get('quantity')
if not resource_name or quantity is None:
return JsonResponse({'result': False, 'message': '资源名称和数量不能为空'})
quantity = int(quantity)
query_result = query_data(config, 'resource', columns='*', conditions=f"resource_name = '{resource_name}'")
if not query_result['result']:
# 查询失败,直接返回失败信息
return JsonResponse({'result': False, 'message': query_result['message']})
# 查询成功,判断是否有数据
if query_result['message'] and len(query_result['message']) > 0:
# 找到了对应资源,进行更新库存
current_stock = query_result['message'][0]['stock_quantity']
new_stock = current_stock + quantity
# 用字典形式传入更新条件和新值
update_result = update_data(
config,
'resource',
conditions={'resource_name': resource_name},
new_values={'stock_quantity': new_stock}
)
if update_result['result']:
return JsonResponse({'result': True, 'message': '库存更新成功'})
else:
return JsonResponse({'result': False, 'message': update_result['message']})
else:
# 未找到资源,插入新记录
insert_result = insert_data(config, 'resource',
data={'resource_name': resource_name, 'stock_quantity': quantity})
if insert_result['result']:
return JsonResponse({'result': True, 'message': '库存添加成功'})
else:
return JsonResponse({'result': False, 'message': insert_result['message']})
except Exception as e:
return JsonResponse({'result': False, 'message': f'服务器错误: {str(e)}'})
# 显示所有库存
def show_all_resource(request):
try:
result = query_data(config, 'resource')
return JsonResponse(result)
except Exception as e:
return JsonResponse({
'result': False,
'message': str(e)
})
# 获取所有申请记录
def get_all_resource(request):
try:
result = query_data(config, 'resource_usage_log')
return JsonResponse(result)
except Exception as e:
return JsonResponse({
'result': False,
'message': str(e)
})
# 查询申请记录
def search_resource(request):
data = json.loads(request.body.decode('utf-8'))
resource_name = data.get('resource_name')
try:
result = query_data(config, 'resource_usage_log', "*", f"resource_name like '%{resource_name}%'")
return JsonResponse(result)
except Exception as e:
return JsonResponse({
'result': False,
'message': str(e)
})
# 删除库存
def del_resource(request):
try:
data = json.loads(request.body.decode('utf-8'))
resource_id = data.get('id')
if not resource_id:
return JsonResponse({'result': False, 'message': '缺少用户ID'})
conditions = {'id': resource_id} # 传字典
res = delete_data(config, "resource", conditions)
return JsonResponse(res)
except Exception as e:
return JsonResponse({'result': False, 'message': str(e)})
# 工具函数:将字典条件转换成 SQL 条件字符串
def dict_to_conditions_str(conditions: dict) -> str:
if not conditions:
return ''
return " AND ".join([f"{k} = '{v}'" if isinstance(v, str) else f"{k} = {v}" for k, v in conditions.items()])
# 添加用户权限
def add_permission(request):
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
文章介绍:https://blog.csdn.net/weixin_47040861/article/details/148641576 编程语言:Python 编程软件:PyCharm 前端技术:HTML、Css、JavaScript 数据存储:MySQL数据库 后端框架:Django 内容描述: 用户认证模块 用户登录:支持账号密码验证,通过表单输入并验证用户凭据,确保只有授权用户可以访问系统。 角色权限管理:区分用户和管理员角色,管理员具有更高权限,可对用户和资源进行管理。 用户管理模块 用户列表展示:以表格形式展示所有用户的详细信息,包括用户 ID、用户名、角色等,方便管理员查看和管理。 添加用户:提供表单用于创建新用户,管理员可以输入用户名、密码等信息,实现用户注册功能。 删除用户:在用户列表中,管理员可以通过按钮操作直接删除指定用户,快速移除不再需要的用户账号。 资源管理模块 资源使用记录:记录用户的资源使用情况,包括用户 ID、资源名称和访问时间等,并以表格形式展示在资源记录页面。 资源记录查询:支持查询用户的资源使用记录历史,方便管理员了解资源的使用情况和趋势。 导航管理模块 导航栏设计:提供简洁的导航栏,方便用户快速切换不同的功能页面。
资源推荐
资源详情
资源评论
































收起资源包目录













































共 34 条
- 1
资源评论

- KICK_BACK5212025-06-24非常有用的资源,可以直接使用,对我很有用,果断支持!

小辰代写
- 粉丝: 5809
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- -单片机数字电子钟的方案设计书与研究-.doc
- 企业网站建设协议范本.doc
- 如何以就业为导向探索中职计算机专业的建设.doc
- 大学生职业生涯规划方案书(计算机专业).doc
- ACCESS由家庭物品管理到学成生绩管理的转换分析研究.doc
- 我国农业物联网发展现状存在问题和对策.docx
- 浅论互联网经济下我国电商网络零售演进及竞争发展态势.docx
- 刍议计算机网络应用安全的影响因素.docx
- 大数据的未来.docx
- 网络工程师综合网络配置练习手册汇编.doc
- 基于SKYEYE的嵌入式Linux系统研究设计.doc
- AutoCAD工程师.doc
- 基于大数据时代背景下的档案管理.docx
- Z建设工程项目管理施工成本控制.doc
- ppt模板:简约风全球化信息网络通用PPT模版.pptx
- 飞天-从互联网行业的视角看空管技术行业.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
