学弟划水日记-Bootstrap+Flask实现上传作业平台

博主为提高收作业效率,用一天半时间开发了一个基于Bootstrap和Flask的上传作业平台。平台实现了文件上传、重命名和打包下载功能,并部署在阿里云。前端使用了Bootstrap和Jquery,后端采用Flask框架,文件存储在项目文件夹内。
摘要由CSDN通过智能技术生成

Docker

docker run -itd -p 80:8080 registry.cn-beijing.aliyuncs.com/liyuanhao/homework:v3

前言

博主最近小学期,每天得收三十多份报告;原采用QQ发送形式,但效率太低,很多时间都花在收发和修改命名格式上,因而博主打算写个提交作业平台,部署于阿里云,每个同学均可通过它上传当日作业,最后博主统一上交

PS:由于开发周期只有一天半,所以有些地方可能存有BUG,恳请指正

结果

主页面

上传页面,点击可上传自己的作业文件

文件为空时提示
在这里插入图片描述

上传成功时提示

一、需求分析

1.1 上传

同学将每天的作业(Word文档)上传到该平台

1.2 重命名

按老师要求的格式给每份文件命名

1.3 打包

将收齐的word文件放入一个文件夹内,压缩并下载

二、设计

2.1 技术

该系统采取C/S架构

  • 部署环境 : CentOS7

  • 前端 : Bootstrap + Jquery+SweetAlert2

  • WEB框架 : Flask

2.2 存储

博主将上传文件存到了项目中文件夹内,所以此处没有使用数据库

三、过程

项目结构

  • index.html为主页面
  • 信1701-3班-报告文件夹存储上传文件
  • modles.py 存储学生学号与姓名信息

3.1 前端

3.1.1 表格

主页面初始时显示一个提交表格,内容为每位同学的提交状态、学号、姓名、提交时间以及操作按钮.
图示

  • data是后端传来的一个列表,内含每个学生信息的字典
<!--提交信息的表格-->
<table class="table table-hover" id="stuInfoTable">
    <thead>
    <tr>
        <th>提交状态</th>
        <th>学号</th>
        <th>姓名</th>
        <th>上传时间</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    {% for i in data %}
        <tr>
            {% if i['status'] == 'yes' %}
                <td style="color: green">
                    <strong>已提交</strong>
                </td>
            {% else %}
                <td style="color: red">
                    <strong>未提交</strong>
                </td>
            {% endif %}
            <td>{
  { i['num'] }}</td>
            <td>{
  { i['name'] }}</td>
            <td>{
  { i['time'] }}</td>
            <!--已经提交则提交按钮为不可操作状态-->
            {% if i['status'] == 'yes' %}
                <td>
                    <button class="btn btn-primary" disabled="disabled">
                        已上传
                    </button>
                </td>

            {% else %}
                <!--否则当点击上传按钮时将字典i的值传给对应函数-->
                <td>
                    <button class="btn btn-primary btn-lg" data-toggle="modal" onclick="display_form({
    { i }})">
                        文件上传
                    </button>
                </td>
            {% endif %}
        </tr>
    {% endfor %}
    </tbody>
</table>

3.1.2 提交框

<!--上传文件弹出框-->
<div class="modal fade" id="stu_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值