python基于django的高校教师科研成果管理系统

news/2024/5/4 4:55:03/文章来源:https://blog.csdn.net/QQ55318293/article/details/126979607

长期以来,院校的科研水平和科研规模一直反映着我国科研技术水平技术含量,随着现代科技的日益发展,各个院校的科研活动和科研能力已成为反映高校综合实力重要指标,而随着高校专业类别的增加,教师科研领域范围扩大,高校科研成果管理所涉及的事物越来越烦琐,从研究所到各个教研室的科研成果管理,以及个人对科研信息的查询、统计等工作日益增多,因此目前的院校迫切的需要一个方便、安全、有效的平台来管理科研信息。而通过信息化的手段对日常科研工作进行管理,整合科研各种科研成果,为上级提供真实有效的科研信息依据,是提升科研成果管理水平的有效途径。这也是未来各个院校的大趋势

请添加图片描述
伴随着信息行业的蓬勃发展和人们办公自动化意识的增强,科研管理部门的的工作也越来越繁重,原来的科研管理系统已经不能完全满足相关人员使用的需要。为了协助信息行业开展科研管理工作,提高工作效率,充分利用信息行业的现有资源,开发更好的科研管理系统势在必行。
请添加图片描述
功能介绍:可以管理首页、个人中心、教师管理、院级管理员管理、论文分类管理、课题分类管理、专利分类管理、著作分类管理、科研成果管理、论文登记管理、课题登记管理、专利登记管理、著作登记管理、院内评比管理等功能模块。

请添加图片描述执行下面的命令来创建一个新的 Django 项目:
django-admin startproject myproject
命令行工具django-admin会在安装Django的时候一起自动安装好。
执行了上面的命令以后,系统会为Django项目生成基础文件夹结构。
现在,我们的myproject目录结构如下所示:
myproject/ <-- 高级别的文件夹
|-- myproject/ <-- Django项目文件夹
| |-- myproject/
| | |-- init.py
| | |-- settings.py
| | |-- urls.py
| | |-- wsgi.py
| ±- manage.py
±- venv/ <-- 虚拟环境文件夹
前端技术:nodejs+vue+elementui

请添加图片描述`# coding:utf-8
author = “ila”

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes

def users_login(request):
if request.method in [“POST”, “GET”]:
msg = {‘code’: normal_code, “msg”: mes.normal_code}
req_dict = request.session.get(“req_dict”)
if req_dict.get(‘role’)!=None:
del req_dict[‘role’]
datas = users.getbyparams(users, users, req_dict)
if not datas:
msg[‘code’] = password_error_code
msg[‘msg’] = mes.password_error_code
return JsonResponse(msg)

    req_dict['id'] = datas[0].get('id')return Auth.authenticate(Auth, users, req_dict)

def users_register(request):
if request.method in [“POST”, “GET”]:
msg = {‘code’: normal_code, “msg”: mes.normal_code}
req_dict = request.session.get(“req_dict”)

    error = users.createbyreq(users, users, req_dict)if error != None:msg['code'] = crud_error_codemsg['msg'] = errorreturn JsonResponse(msg)

def users_session(request):
‘’’
‘’’
if request.method in [“POST”, “GET”]:
msg = {“code”: normal_code,“msg”:mes.normal_code, “data”: {}}

    req_dict = {"id": request.session.get('params').get("id")}msg['data'] = users.getbyparams(users, users, req_dict)[0]return JsonResponse(msg)

def users_logout(request):
if request.method in [“POST”, “GET”]:
msg = {
“msg”: “退出成功”,
“code”: 0
}

    return JsonResponse(msg)

def users_page(request):
‘’’
‘’’
if request.method in [“POST”, “GET”]:
msg = {“code”: normal_code, “msg”: mes.normal_code,
“data”: {“currPage”: 1, “totalPage”: 1, “total”: 1, “pageSize”: 10, “list”: []}}
req_dict = request.session.get(“req_dict”)
tablename = request.session.get(“tablename”)
try:
hasMessage = users.hasMessage
except:
hasMessage = None
if hasMessage and hasMessage != “否”:

        if tablename != "users":req_dict["userid"] = request.session.get("params").get("id")if tablename == "users":msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \msg['data']['pageSize'] = users.page(users, users, req_dict)else:msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \msg['data']['pageSize'] = [],1,0,0,10return JsonResponse(msg)

def users_info(request, id_):
‘’’
‘’’
if request.method in [“POST”, “GET”]:
msg = {“code”: normal_code, “msg”: mes.normal_code, “data”: {}}

    data = users.getbyid(users, users, int(id_))if len(data) > 0:msg['data'] = data[0]# 浏览点击次数try:__browseClick__ = users.__browseClick__except:__browseClick__ = Noneif __browseClick__ and "clicknum" in users.getallcolumn(users, users):click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}ret = users.updatebyparams(users, users, click_dict)if ret != None:msg['code'] = crud_error_codemsg['msg'] = retreturn JsonResponse(msg)

def users_save(request):
‘’’
‘’’
if request.method in [“POST”, “GET”]:
msg = {“code”: normal_code, “msg”: mes.normal_code, “data”: {}}
req_dict = request.session.get(“req_dict”)
error = users.createbyreq(users, users, req_dict)
if error != None:
msg[‘code’] = crud_error_code
msg[‘msg’] = error
return JsonResponse(msg)

def users_update(request):
‘’’
‘’’
if request.method in [“POST”, “GET”]:
msg = {“code”: normal_code, “msg”: mes.normal_code, “data”: {}}
req_dict = request.session.get(“req_dict”)
if req_dict.get(“mima”) and req_dict.get(“password”):
if “mima” not in users.getallcolumn(users,users):
del req_dict[“mima”]
if “password” not in users.getallcolumn(users,users):
del req_dict[“password”]
try:
del req_dict[“clicknum”]
except:
pass
error = users.updatebyparams(users, users, req_dict)
if error != None:
msg[‘code’] = crud_error_code
msg[‘msg’] = error
return JsonResponse(msg)

def users_delete(request):
‘’’
‘’’
if request.method in [“POST”, “GET”]:
msg = {“code”: normal_code, “msg”: mes.normal_code, “data”: {}}
req_dict = request.session.get(“req_dict”)

    error = users.deletes(users,users,req_dict.get("ids"))if error != None:msg['code'] = crud_error_codemsg['msg'] = errorreturn JsonResponse(msg)

`
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_11906.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GreenPlum列存解密

GreenPlum支持列式存储。叫做AOCO表。那么AOCO列存是如何管理列存文件&#xff1f;如何实现MVCC&#xff1f;是否支持索引&#xff0c;若支持如何实现的呢&#xff1f;下面我们介绍下AOCO的实现机制。1、存储结构如上图所示&#xff0c;列存每一列单独存储一个文件。上面一个表…

文件管理命令和find命令

文件管理命令和find命令 stat命令 查看文件状态 每个文件有三个时间戳: access time访问时间,atime&#xff0c;读取文件内容modify time修性时间, mtime&#xff0c;改变文件内容change time改变时间,ctime&#xff0c;元数据发生改变场景是:上传了WebShell&#xff0c;避…

MySQL数据误删恢复操作

目录记录一次不小心删除生产数据偷偷恢复解决方案 模拟数据删除 记录下操作时间&#xff0c;2022-09-21下午5点左右 通过show variables like %datadir%查看binlog存放目录目录 通过show master status;查看当前binlog的记录文件 查看mysqlbinlog工具目录&#xff0c;需要通过此…

ANYCUBIC Photon Mono 4K光固化打印机快速上手(多次试错的经验积累)

变更记录 记录每次修订的内容&#xff0c;方便追溯。 版本号作者修订内容发布日期1.1Zeeland优化打印机的最佳模式内容2022年9月21日 23:41:581.0Zeeland完善基本文档2022年2月14日 19:33:52 1. 简介 笔者前期使用ANYCUBIC Photon Mono 4K光固化打印机失败了很多次&#xff0c…

Vue3——压缩字体font-spider,完美解决字体压缩后会出现字体消失现象

Vue项目打包字体完整版教程 如果打包的时候字体太大&#xff0c;可以选择压缩字体进行处理 打包前&#xff1a; 打包后: 可以看到&#xff0c;区别还是很明显的&#xff0c;下面是使用方法 这里可以使用字蛛font-spider来进行压缩 字蛛font-spider npm install font-spide…

C 语言避坑指南

文章目录&#x1f449;引言&#x1f48e;C 避坑指南一、基础|基本常识类1 运算符类型2 占位符|格式化问题3 输入输出问题二、错题 | 程序语句类三、进阶 | 指针与函数四、进阶 | 结构体及宏定义&#x1f449;引言&#x1f48e; 学习的最大理由是想摆脱平庸&#xff0c;早一天就…

linux 中 date +%s 获取1970年以来的秒数

001、(base) [root@PC1 home]# date +%s 1663810406 (base) [root@PC1 home]# date +%s 1663810410 date +%s //从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数(时间戳)参考:https://zhidao.baidu.com/question/490735500497375812.html

EasyCVR接入宇视设备后通道显示的是目录,是什么原因?

EasyCVR平台基于云边端一体化架构,充分发挥视频接入、汇聚与管理、分发、智能分析、数据共享等能力,不断在多样化场景中落地应用,不仅涵盖传统行业的安防视频监控,还涉及到景区旅游、校园教育、社区、楼宇、智慧农业等领域的应用。感兴趣的用户可以前往演示平台进行体验或部…

Docker安装Jenkins

Docker安装Jenkins 准备工作 下载Jenkins镜像 docker pull jenkins/jenkins开始安装 创建需要挂载的本地文件夹 mkdir -p 路径/jenkens chmod 777 路径/jenkens创建并启动Container docker run -d -p 8080:8080 --name=jenkins -v 路径/jenkens/:/var/jenkins_home jenkins/jen…

vue 中利用js完成等比例缩放图片和点位跟着移动

需要等比例缩放的内容 html <div class="boxImg" ref="cont" style="position: absolute; top: 0; left: 0"><!-- 这里放上需要等比例缩放的内容 --> </div> 在vue中 methods 中写 methods: {updateScaleRatio(ImgObj, ma…

linux - 搭建部署ftp服务器

ftp 服务&#xff1a; 实现ftp功能的一个服务&#xff0c;安装vsftpd软件搭建一台ftp服务器 ftp协议&#xff1a; 文件传输协议 &#xff08;file transfer protocol&#xff09;&#xff0c;在不同的机器之间实现文件传输功能&#xff0c; 例如 视频文件下载&#xff0c;…

前端之html和css(2)

目录 一&#xff0c;html 1&#xff0c;文本相关标签 2&#xff0c;列表标签 3&#xff0c;图片标签 4&#xff0c;超链接 5&#xff0c;表格标签 table 6&#xff0c;表单 form 7&#xff0c;分区标签 二&#xff0c;css层叠样式表 1&#xff0c;css样式代码的三种引入…

【职场必备知识】一文搞懂五险一金(打工人必备)

社保局电话&#xff1a;12333五险一金非常重要的是&#xff1a;缴纳基数和缴纳比例&#xff01; 文章目录五险一金是什么五险一金缴纳比例养老保险养老保险构成退休年龄医疗保险生育险工伤保险失业险公积金补充&#xff1a;常见问题“五险二金”多出来的“一金”是什么&#xf…

Firewall Analyzer防火墙管理

企业防火墙管理 典型的企业网络安全基础设施包括传统防火墙、下一代防火墙 (NGFW)、虚拟专用网络 (VPN) 和来自多个供应商的代理服务器。网络安全管理&#xff0c;特别是防火墙安全管理尤其棘手&#xff0c;因为每个供应商的能力和技术差异很大。然而&#xff0c;市场上有许多…

kubernetes-Service服务发现

目录 一、Service基本概念 1、Pod的特征 1. Pod等资源的概念 2.解决pod进行如此多变化时的解决方案 2、Service 1. Kubernetes Service 定义了这样一种抽象&#xff1a; 2. Service的实现类型 3、Service模型 4、Endpoint Controller 5、Kube-proxy iptables 6、Kube…

ESP8266-Arduino编程实例-OLED-SSD1306(I2C)显示屏驱动

OLED-SSD1306(I2C)显示屏驱动 1、OLED介绍 OLED显示屏是指有机电激发光二极管(OrganicLight-EmittingDiode,OLED)由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一…

MSSQL注入 — 反弹注入

注意&#xff1a;仅用于本人学习的笔记记录&#xff0c;禁止进行传播分享&#xff0c;一旦造成严重后果与本人无关&#xff01;&#xff01;&#xff01; 一、MSSQL反弹注入使用场景 MSSQL>SQL Server MSSQL注入&#xff1a; 反弹注入>注入手法比较偏门(oob) 把查询…

《代码随想录》一刷记录

文章目录前言二、程序的性能分析时间复杂度分析递归算法的时间复杂度分析编程语言的内存管理内存对齐空间复杂度分析递归算法的空间复杂度分析以空间换时间是常见的优化思路三、数组二分查找移除元素长度最小的子数组螺旋矩阵四、链表链表的定义移除链表元素链表常见的操作反转…

GBase8s 汉字转拼音函数

一、GetHzFullPY 函数 GetHzFullPY 函数将汉字转换为全拼。 函数返回值为字符型。使用时&#xff0c;除汉字按顺序转换为全拼外&#xff0c;其余字符&#xff08;包括数字&#xff09;都不进行转换&#xff0c;保留原值。转换完的拼音字符串缺省为小写。 例如&#xff0c;假定 …