您现在的位置是:首页 > 正文

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

2024-02-29 11:04:02阅读 1

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

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

请添加图片描述执行下面的命令来创建一个新的 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_code
        msg['msg'] = error
    return 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,10

    return 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__ = None

    if __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_code
            msg['msg'] = ret
    return 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_code
        msg['msg'] = error
    return 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

网站文章

  • springboot中集成fastDFS

    springboot中集成fastDFS

    springboot中集成fastDFS分布式文件存储系统1、pom.xml中引入<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.27.2</version> </dependency>2、ap...

    2024-02-29 11:03:53
  • Transferable Attention for Domain Adaptation

    Transferable Attention for Domain Adaptation笔记

    2024-02-29 11:03:19
  • Spring-WebFlux简介与使用

    Spring-WebFlux简介与使用

    简介Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架。 与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞, 并通过Reac...

    2024-02-29 11:03:11
  • Java NIO 关键概念之 Buffer

    Java NIO 关键概念之 Buffer

    一、前言 Java NIO 的三大关键概念之一是 Buffer,在一些文章/源代码中,我们也经常会看到 Buffer 相关的信息。Buffer 到底是什么,Buffer 的基本使用方法是什么,这是本文主要要说的。

    2024-02-29 11:03:04
  • webpack

    webpack

    vue2.0---webpack的配置一、webpack简介二、安装 Webpack三、创建项目四、OADER一、webpack简介Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系...

    2024-02-29 11:02:37
  • 合理使用 inline来优化程序 尽可能减少临时对象 尽可能使用初始化列表

    合理使用 inline来优化程序 尽可能减少临时对象 尽可能使用初始化列表

    调用 函数实际上将程序执行顺序转移到函数所存放在内存中某个地址,将函数的程序 内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前 要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保存地址继续执 行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。特 别是对于一些函数体代码不是很大,但又频繁地被调用的函数来讲,解决其效率 问题更为重要。引入内联函数

    2024-02-29 11:02:30
  • 手机端font-size:62.5%原理

    原理: 是根据根节点html的默认字体大小font-size来计算的,以此进行rem的初始值设置。实现对不同屏幕宽度的适配。(100px/16px=6.25=625%, 100代表100px,这里是以...

    2024-02-29 11:02:24
  • Docker Stack yaml 使用 image 指定镜像

    Docker Stack yaml 使用 image 指定镜像

    `image` 用于指定启动容器的镜像。镜像必须遵循开放容器规范可寻址格式,如 `[/][/][:|@]`。 其实还可以使用镜像id,格式为 `sha256:`。

    2024-02-29 11:02:19
  • POJ 1330 Nearest Common Ancestors 最近公共祖先模板/在线/离线

    POJ 1330 Nearest Common Ancestors 最近公共祖先模板/在线/离线

    题意:求树上两个节点的最近公共祖先算法一:tarjanLCA(u) {  Make-Set(u)  ancestor[Find-Set(u)]=u  //设置u所在集合的祖先  对于u的每一个孩子v {   LCA(v)   Union(v,u)              //把v生成的子集并入u中   ancestor[Find-Set(u)]=u

    2024-02-29 11:01:47
  • fonts.conf

    &lt;?xml version="1.0"?&gt; &lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt; &lt;!-- /etc/fonts.conf file to configure system font access --&gt; &lt;fontconfig&gt; &lt;!--    The intent of this standa

    2024-02-29 11:01:40