劉軒宇
摘要:近年來由于科技的不斷創(chuàng)新和互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,信息數(shù)據(jù)資源的急速增長(zhǎng)增加了數(shù)據(jù)處理的難度。本論文利用python、html5、JavaScript等語言構(gòu)建數(shù)據(jù)模型,采用MVT開發(fā)架構(gòu),設(shè)計(jì)了基于Django開發(fā)框架和Oracle數(shù)據(jù)庫的數(shù)據(jù)處理平臺(tái),實(shí)現(xiàn)了不同級(jí)別的用戶權(quán)限管理,靈活的數(shù)據(jù)查詢、友好、便捷的可視化展示功能。
關(guān)鍵詞:Python;Web開發(fā)框架;Django;Oracle;數(shù)據(jù)處理;
Abstract:In recent years, due to the continuous innovation of science and technology and the rapid development of the Internet industry, the rapid growth of information and data resources has increased the difficulty of data processing. This paper uses python, HTML 5, JavaScript and other languages to build data model, uses MVT development framework, designs a data processing platform based on Django development framework and Oracle database, achieves different levels of user rights management, flexible data query, friendly and convenient visualization display function.
Keyword:Python; Web development framework; Django; Oracle; data processing;
1 前言
隨著社會(huì)信息化程度的不斷提高,人們?cè)絹碓絻A向于在互聯(lián)網(wǎng)上解決問題,利用網(wǎng)站、微信公眾號(hào)等平臺(tái)解決部分業(yè)務(wù),從而提高工作效率。Django是一個(gè)基于python語言的MVT框架,可以簡(jiǎn)便、高效的開發(fā)數(shù)據(jù)庫驅(qū)動(dòng)的網(wǎng)站[1]。
2 需求分析和框架設(shè)計(jì)
一般來說, 數(shù)據(jù)處理平臺(tái)需要實(shí)現(xiàn)三個(gè)方面的功能,即數(shù)據(jù)查詢、前臺(tái)展示和后臺(tái)用戶管理。在Django框架中,MVT分別代表模型(Model)、模板(Template)和視圖(Views),基本設(shè)計(jì)如下:
3 平臺(tái)功能實(shí)現(xiàn)
3.1數(shù)據(jù)讀取
1.建立數(shù)據(jù)庫連接
由于本系統(tǒng)連接的是Oracle數(shù)據(jù)庫,因此需要預(yù)先安裝Oracle的Pyhton庫,命令如下:pip install cx-oralce;安裝完成即可通過Django框架的Setting設(shè)置配置數(shù)據(jù)庫。具體配置方法如下:
2.讀取已有數(shù)據(jù)庫
由于平臺(tái)操作的數(shù)據(jù)庫表單及表結(jié)構(gòu)已經(jīng)存在且固定,因此我們需要根據(jù)已有數(shù)據(jù)庫去自動(dòng)生成新的models文件,命令為python manage.py inspectdb;生成的models.py部分內(nèi)容如下:
在視圖層(Views.py)中導(dǎo)入models文件,并創(chuàng)建相應(yīng)的映射關(guān)系,對(duì)Oracle數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行讀取。下面根據(jù)category字段做簡(jiǎn)單的查詢演示,部分代碼如下:
3.2 前臺(tái)展示
完成Model、Views層的設(shè)計(jì)后,即可創(chuàng)建相應(yīng)的模板(.html)做數(shù)據(jù)的Web可視化界面。界面應(yīng)友好、便捷,便于用戶理解和操作,同時(shí)考慮查詢的靈活性,查詢關(guān)鍵詞包括日期、名稱、類別等。部分代碼:
3.3 后臺(tái)管理
Django自帶的后臺(tái)管理功能可以在其admin.py文件中靈活的定制在每個(gè)app的管理方式,讓我們快速便捷管理數(shù)據(jù),下面使用裝飾器方式對(duì)系統(tǒng)中的app進(jìn)行注冊(cè)。
4 結(jié) 語
利用Django和Oracle可以成功搭建數(shù)據(jù)查詢平臺(tái),python的多種第三方工具庫提供了諸多豐富和實(shí)用的功能[2], Django框架的ORM數(shù)據(jù)映射和Admin后臺(tái)管理功能都具有很強(qiáng)的擴(kuò)展性和實(shí)用性,可以讓開發(fā)人員無需花費(fèi)太多的精力來處理系統(tǒng)底層復(fù)雜的邏輯和算法,提高了開發(fā)效率,本文所搭建的數(shù)據(jù)處理平臺(tái),開發(fā)效率高,開發(fā)成本低,功能實(shí)現(xiàn)非常的靈活并且最終已經(jīng)成功部署和應(yīng)用,后期優(yōu)化擴(kuò)展也十分方便,如增加數(shù)據(jù)分析、自動(dòng)繪制圖表、導(dǎo)入導(dǎo)出excel文件等功能,可為類似中小型項(xiàng)目開發(fā)提供參考。
參考文獻(xiàn):
[1]張翠麗,孟小艷,楊抒. 基于Django框架的管理系統(tǒng)的設(shè)計(jì)與開發(fā)[J/OL]. 計(jì)算機(jī)技術(shù)與發(fā)展,2019(11):1-9[2019-04-15].
[2]王浩宇,郭耀,馬子昂,陳向群. 大規(guī)模移動(dòng)應(yīng)用第三方庫自動(dòng)檢測(cè)和分類方法[J]. 軟件學(xué)報(bào), 2017,28(06).