APP下载

基于django的产品检验文档处理系统的设计与应用

2022-01-17牛鹤宁胡楠

电子元器件与信息技术 2021年10期
关键词:产品检验申请单大纲

牛鹤宁,胡楠

(中国电子信息产业集团有限公司第六研究所,北京 102209)

0 引言

Django是用Python语言编写的一个快速Web 开发框架,结合轻量级数据库应用 SQLite。Django 利用对象关系映射( Object Relational Mapping,ORM) 机制定义和操纵数据库,使开发者可以构建出独立于具体数据库引擎的 Web 应用。Django 内置了后台管理模块,利用它可以方便地管理 Web 应用。而且Django 内置了一个轻量级的 Web Server,开发者无需安装任何 WebServer 就可以进行各种 Web 应用的开发和测试,比较适宜快速的Web 应用开发[1]。此外,Django有许多功能强大的第三方插件,具有很强的可扩展性,本系统就用到了很多插件。

1 系统功能需求分析

系统主要功能分为如下几个部分:

(1)文档生成

项目组提交产品检验时,需提交检验申请单和检验大纲;这两项将作为检验中的检验依据,并且编写检验记录和检验报告时需读取申请单和检验大纲中的有用信息,如申请单中需提取“工程令号”、“项目名称”、“产品名称”、“大纲编号”等;检验大纲中提取“检验项”、“检验方法”、“预期结果”、“指标要求”等。因此,需要在系统中导入申请单和检验大纲。并根据检验记录和检验报告的模板生成检验记录和检验报告,并输出[2]。

(2)条件查询与数据库写入

申请单和大纲导入后,提取有效字段,进行数据库写入操作。并可以根据条件查询数据库并显示在界面。

(3)台账管理

根据工程令号,产品名称,检验人员进行组合查询,提供分页功能,输出检验台账。

2 系统设计

2.1 系统体系结构设计

Django采用的是MTV设计模式,即模型Model用于处理数据层的业务逻辑、模板Template存放的是HTML用于处理表现层的业务逻辑、视图View用于处理逻辑层的业务逻辑。系统体系结构关系图如图1所示。

图1 产品检验文档处理系统体系结构关系图

2.2 系统功能设计

根据功能需求分析,系统分为三个模块,即文档生成模块,条件查询与数据库写入模块,台账管理模块,如图2所示。

图2 产品检验文档处理系统功能模块图

3 系统实现

3.1 系统搭建

本项目采用pycharm编码工具编码,开发流程如下:

(1)创建Django工程

(2)创建应用dapru

每个Django项目中可以包含多个APP,相当于一个大型项目的分系统,功能模块等,相互之间比较独立。

在终端输入命令:Python manage.py startapp dapru。

(3)修改setting.py文件

修改数据库字段:

改成项目中使用的数据库,本项目数据库使用的是SQLite与默认相符,未做修改。

(4)编写路由

路由信息保存在urls.py文件里面,项目名字下的为总路由,所有的url都先发到这里,在分发给对应的子路由,也就是每个应用的路由。

在fileImEx下的urls.py为总路由,输入语句:url(r'^', clude('dapru.urls')),分发给dapru。

(5)创建数据库

第一,在setting.py文件中注册app:

第二,编写model.py文件。

第三,在pycharm的终端中通过命令来创建数据库的表:

Python manage.py makemigrations

Python manage.py migrate

(6)业务逻辑

在view.py中创建函数,与路由中的信息一致。并且给浏览器返回数据

(7)创建html

Django采用jinja2作为HTML页面的引擎来显示后台给浏览器返回的数据,它是一种特殊的语言,有自己的语法。

3.2 界面设计

3.2.1 文档生成界面

用户通过对有效字段的输入,以及检验申请单和检验大纲的导入来完成检验记录和检验报告的自动生成,并写入数据库。全程一键式操作。

3.2.2 台账查询功能

用户通过浏览器进行数据库的查询操作,并通过 Web页面进行可视化展示。Web 页面通过图表的形式展现,让数据以最直观的方式呈现出来[3]。

为了提高数据查询的灵活性,数据查询的关键词包含工程令号,产品名称,检验人员,用户可自由选择组合关键词进行查询[4]。

3.3 系统部署

一般在部署Django项目时,大多基于Nginx+uWsgi 组合方式进行部署,本项目使用自带数据库SQLite。这种部署方式的原理是:客户端请求Nginx服务器,Nginx服务器将请求转到uWsgi服务器,最后运行Django框架的代码。Nginx的强项在于处理静态文件,所有的静态文件转给Nginx处理,相关的请求不会转给uWsgi,这种部署方式能够实现优势互补,提高服务器的性能[5]。

4 结语

该项目是基于 PyCharm 自主研发的 Django 应用项目,所有工作均独立完成,最终构建了一个高效的产品检验文档处理系统。通过产品检验文档处理系统,可以高效地完成检验记录和检验报告的编写工作,能够提高工作效率,把更多的精力投入到检验本身。同时可以将各个项目的检验情况自动生成检验台账,使得检验台账更加清晰明了。

猜你喜欢

产品检验申请单大纲
50个重要的知识点 一份“学习大纲”帮您梳理党的二十大报告
装饰石材产品检验时应掌握的方法与指标(二)
装饰石材产品检验时应掌握的方法与指标(一)
临床输血申请单不合格项目分析及应对措施
运用PDCA循环提高输血申请单的合格率和规范性
单体光电产品检验验收方案问题探讨
我院检查申请单流程设计与应用
PDCA循环在输血申请单规范填写管理中的作用
紧贴实战落实《大纲》要求推进航空体育训练创新发展
山东省2016年夏季(2016年6-8月)数值预报产品检验