# niudao
**Repository Path**: starlight168/niudao
## Basic Information
- **Project Name**: niudao
- **Description**: 牛刀,是一套适用于企业内部业务培训及问卷场景的,轻便快捷的,微型问卷/考试系统。下码即可用。
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2022-05-09
- **Last Updated**: 2022-08-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# niudao
#### 介绍
牛刀,是一套适用于企业内部业务培训及问卷场景的,轻便快捷的,微型考试系统。
#### 软件架构
采用Django 4.0.3作为项目框架,支持SQLite3/MySQL数据。
#### 使用说明
1. 确保本地安装了Python (3.7.1+)
2. 安装第三方库:python -m pip install -r requirements.txt
3. 下载niudao代码
4. 通过PyCharm/命令行/脚本直接运行即可
其中,项目提供了启动脚本:startup.bat。
#### 特技
1. Python 3.7.1+, Django 4.0.3, Pillow 9.1.0, qrcode 7.3.1
2. 支持MySQL和SQLite3
3. 前端: jQuery v2.1.4, Bootstrap v3.3.7
4. 可为考试生成二维码,并支持打印二维码
5. 支持问卷调查
6. 支持考试结果或问卷结果导出为Excel、PDF问卷
#### 体验
[体验版入口](https://5605d012d7.goho.co/) 用户名/密码:niudao/niudao
#### 其他
如须技术支持,请联系67669182@qq.com
#### 历史版本
#####0.60 (20) on 2022/07/18:
* 缺陷 # sql_helper在处理数据转换时因衍生属性的动态赋值导致dict的size变动导致的遍历异常
* 改进 # 改进页面体验(添加mdi)
* 缺陷 # 解决uio的set方法设置衍生属性为None的问题
* 新特性 # 增加sql查询结果导出为excel
* 增强 # 对选择题选项的标签格式进行了加强,支持最多到14个选项,同时增加[A、]这样格式,以及[A:],[A:]的格式支持
* 改进 # 试题页增加参考答案列,及调整分值输入框的宽度
* 缺陷 # 解决创建选择题页面的格式化选项button会自动提交页面的问题
* 增强 # 试卷的题目上增加显示题目类型
* 改进 # 解决sql_text页面查询条件中带中文而无法执行的问题
* 改进 # 重新实现修订题目
* 增强 # 为题库页面增加查看题目详情弹出页,并允许在查看详情页上直接另存修订
* 缺陷 # 解决题目列表正确率列的显示不正确问题,get_correct_rate_of_question返回-1代替无意义
* 改进 # 对题目的编辑增加限制
* 改进 # 系统选项列表,鼠标滑过选项名称时显示其备注,而非名称
#####0.59 (19) on 2022/06/29:
* 新特性 # 增加用户管理模块及对非管理员用户的权限限制
* 改进 # 小试模板和调查模板支持手机屏幕
* 缺陷 # 解决低版本python及django对sqlite3数据支持度不足的问题
#####0.58 (18) on 2022/06/27:
** 新特性 # 增加nginx部署支持
* 新特性 # 快捷小试增加选择默认模板功能
* 改进 # 考试时长改进
* 缺陷 # 解决django.db.utils.OperationalError: no such column: false的问题
#####0.57 (17) on 2022/06/24:
* 新特性 # 添加调查功能
* 新特性 # 增加objects_filter(查询条件)及牛刀分页器
* 新特性 # 初步完成问卷调查页面
#####0.56 (16) on 2022/06/18:
* 新特性 # 增加将考试记录导出为PDF的功能
* 新特性 # 增加考试记录导出为EXCEL的功能
* 新特性 # 增加动态报表模块
* 新特性 # 考试列表,增加复制考试链接按钮
#####0.55 (15) on 2022/06/04:
* 缺陷 # 重新生成二维码报取不到examination_id的问题
* 新特性 # 增加sql->dto/dto list的转换方法
* 新特性 # 增加考试记录模块
* 增强 # paper增加passing_score, examination_record增加passed
* 新特性 # SQL查询模块
* 改进 # 加强django的安全性
#####0.54 (14) on 2022/06/01:
* 改进 # 改进表单页面第一项的显示样式问题;
* 改进 # 快捷小试页面增加敲入空格显示所有科类的支持;
* 增强 # examination增加long_term字段,调整列表页和新增、编辑页,同时调整列表页考试人数及时间字段的逻辑,调整examination在create和edit时的逻辑;
* 增强 # 调整创建题目页面的标题,在题库页增加新建填空题的按钮;
* 改进 # 调整科类下拉属性列表的缩进方式,由" --"改为"|---";
* 改进 # 小试页面,题目内容后面增加显示答题指导;
* 缺陷 # 快捷创建小试的选题只能选择已启用的题目;
* 增强 # 增加小试错误页面,当小试不存在则转到错误页面并显示错误信息;
* 增强 # 添加牛刀错误页面;
* 改进 # 根科类不可编辑及启用禁用;
* 缺陷 # 解决快捷创建小试的题目选项未生成的问题;
* 增强 # 增加django.db日志输出;
* 新特性 # 增加问答题页面及处理;
* 改进 # 调整题库页的新增按钮,改为下拉按钮;
* 新特性 # 增加人工判题模块;
* 缺陷 # 处理左侧菜单栏隐藏问题;
* 改进 # 快捷小试,如果先选题再定科类,可能出现不一致,须在服务端做检查;
* 新特性 # 增加release notes页面;
* 新特性 # 增加提建议页面;
#####0.53 (13) on 2022/05/23:
* 新特性 # 快捷创建小试;
#####0.52 (12) on 2022/05/09:
* 改进 # 增加小试身份验证处理: 通过guest解决验证问题;
* 新特性 # 管理后台: 增加修改密码,及查看个人信息,整理注销登录等功能;
#####0.51 (11) on 2022/04/18:
* 新特性 # 增加sqlite支持,且新版本以sqlite为默认数据库;
* 新特性 # 增加基于sqlite的数据库初始化支持;
#####0.50 (10) on 2022/03/08:
* 新特性 # 完成基本的题目、试卷、到考试的管理功能;
* 新特性 # 增加基于选择题和判断题的第一版小试页面;
* 新特性 # 增加支持填空题(单空/多空)的第二版小试页面;