基于Python的Django框架实现的任务管理系统

Foooooooood

发布日期: 2020-10-12 12:04:25 浏览量: 91
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

一、系统简述

该系统是一个任务管理的系统,主要执行三种类型的任务:Web服务、远程脚本、可执行文件。用户在网站上提交任务请求的信息,信息保存在数据库中。后台程序(用Python实现)从数据库中取出任务信息,并执行任务,此后更新任务状态并给客户发送邮件。

用例图

二、数据流与接口

2.1 数据流图

2.2 接口

2.2.1 添加用户

  • 参数

    • 用户名:用于登录的唯一标识,不可重复(字符串)
    • 密码:用于验证用户(字符串,保存其加密后的值)
    • Email:作为系统通知用户的手段
  • 返回值

    • True 表示创建成功,False表示创建失败。

2.2.2 添加任务

  • 参数

    • 任务类型:标明任务类型,不同的任务会分配给不同的后台程序来执行(整型)
    • 任务状态:标明任务完成与否(布尔型)
    • 任务参数:执行任务时所需的输入(字符串)
    • 发布时间:任务发布的时间,由系统自动输入(专门的时间类)
    • 关联用户:标明发布任务的用户,便于完成后发送邮件通知
  • 返回值

    • True 表示创建成功,False表示创建失败。

2.2.3 Web服务

2.2.4 远程脚本

  • 参数

    • IP地址:远程脚本所在主机的IP(字符串)
    • 用户名:用于登录远程主机的用户名(字符串)
    • 密码:用于登录远程主机的密码(字符串)
    • 脚本文件名:包含路径在内,标明了要执行的脚本(字符串)
    • 脚本参数:运行脚本所需的参数(字符串)
  • 返回值

    • 脚本运行结果(字符串)

2.2.5 执行文件

  • 参数

    • 文件名:包含路径在内,标明了要执行的文件(字符串)
    • 程序参数:执行文件所需的参数(字符串)
  • 返回值

    • 程序执行结果(字符串)

三、业务流程

四、项目实现

项目采用Django框架编写一个网站,含3个app:userlogin利用Django自身的用户验证模块实现了用户的登录、注销功能,并且能保证不合法的用户即使通过直接输入url的方式也无法进行非法操作,其中包括User模型,其对应数据库中的存储用户的表;tasks应用建立了Task模型,对应数据库中存储任务的表(Django框架将数据库和模型对应了起来,提供了自己的操作接口,编程时无需考虑具体的数据库操作),实现了任务的添加、存储、查看以及将任务分发给任务执行模块、接收返回值并给用户发送邮件等功能;bootstrap_toolkit是从开源项目中下载的,用途是将bootstarp框架引入Django项目,用于美化界面。任务的执行是一个存储于服务器本地的python脚本。虽然它存储于与网站app文件夹平行的文件夹pyscript中,但并不隶属于Django框架编写的部分,可以通过网站中的tasks应用启动。

建立数据库的初始数据:

  • 管理员用户:alfrodull (启动服务器后访问 主机/admin 可进入管理页面)

  • 密码:alf034

此后创建了用户user1,密码:123456

以下是部分功能展示:

启动服务器

打开网站后可看到当前任务列表,未登录用户是无法添加任务的

点击登录后,输入用户名:alfrodull、密码:alf034即可登录

登录后点击自己的用户名可查看自己提交的任务

登录后首页会出现新建任务的链接,点击后可新建任务

如上图输入并点击新建后任务列表更新,可以看到最新的任务。另:这里可以看到在登录后出现了新的链接:注销和新建任务

管理员进入 /task/execute页面可以命令后台执行未完成任务

如图,之前新建的任务已经完成了

查收邮件,可以看到任务的信息包括返回值都发送到用户预留的邮箱里了

上传的附件 cloud_download 基于Python的Django框架实现的任务管理系统.7z ( 826.15kb, 1次下载 )
error_outline 下载需要12点积分

发送私信

一盏灯,一条路,一个你

13
文章数
27
评论数
最近文章
eject