亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Django的實驗室信息管理系統(tǒng)設計

        2016-02-23 03:40:56龔新定余艷梅吳小強何小海
        關鍵詞:界面實驗室用戶

        龔新定,余艷梅,吳小強,何小海

        (四川大學 電子信息學院圖像信息研究所,四川 成都610064)

        基于Django的實驗室信息管理系統(tǒng)設計

        龔新定,余艷梅,吳小強,何小海

        (四川大學 電子信息學院圖像信息研究所,四川 成都610064)

        設計了一種基于Django的實驗室信息管理系統(tǒng)。系統(tǒng)遵循了MVC開發(fā)模式,采用Django框架作為開發(fā)平臺。Django是基于Python語言的Web開發(fā)框架,支持多種數(shù)據(jù)庫,采用開源的輕量級數(shù)據(jù)庫SQLite。Web服務器方面,開發(fā)階段采用的是Django框架自帶的輕量級Web服務器,開發(fā)完成后,整個系統(tǒng)被部署到Linux平臺下的Apache服務器上。系統(tǒng)實現(xiàn)了用戶注冊和登錄、實驗室公告查看、儀器借還信息查看、留言發(fā)表及查看等功能。管理員可以通過Django自帶的后臺管理模塊對系統(tǒng)進行管理,用戶可以通過瀏覽器來訪問系統(tǒng),無需安裝專門的客戶端。

        Django框架;Apache服務器;Web站點;SQLite數(shù)據(jù)庫

        0 引言

        傳統(tǒng)的高校實驗室主要依靠人工管理方式進行管理,實驗室信息更新的速度比較慢,不僅查詢、統(tǒng)計數(shù)據(jù)不方便,而且還浪費了大量的人力和物力。目前,大部分實驗室都搭建了局域網(wǎng)系統(tǒng),各種計算機設備的硬件配置也在不斷地升級換代,但是因為沒有合適的實驗室管理系統(tǒng),所以很多實驗室花費了大量精力和經(jīng)費建成的局域網(wǎng)卻并沒有充分發(fā)揮其應有的作用[1]。

        針對傳統(tǒng)的實驗室管理方式存在的不足,本文設計了一種基于Django框架的實驗室信息管理系統(tǒng)。Django是一個功能豐富的快速Web開發(fā)框架,結合輕量級數(shù)據(jù)庫應用SQLite,可以進行快速的Web應用開發(fā)。系統(tǒng)設計完成后被部署到Apache服務器上,實驗室局域網(wǎng)中的用戶可以通過瀏覽器/客戶端(Browser/Server,B/S)模式對服務器進行訪問,從而獲取實驗室的相關信息。

        1 Django框架

        1.1Python語言和Django框架

        Python是一門開源的、跨平臺的、面向?qū)ο蟮摹⒔忉屝缘膭討B(tài)腳本語言[2]。Python擁有強大的標準庫和功能豐富的第三方模塊,依靠這些庫和模塊,Python能夠輕松地調(diào)用其他語言(特別是C/C++)編寫的模塊,因此也被稱為“膠水語言”[3]。

        Django是用Python語言編寫的一個快速Web開發(fā)框架。Django利用對象關系映射(ObjectRelationalMapping,ORM)機制定義和操縱數(shù)據(jù)庫,使開發(fā)者可以構建出獨立于具體數(shù)據(jù)庫引擎的Web應用。Django內(nèi)置了后臺管理模塊,利用它可以方便地管理Web應用。而且,Django內(nèi)置了一個輕量級的WebServer,開發(fā)者無需安裝任何WebServer就可以進行各種Web應用的開發(fā)和測試。

        1.2MVC模式與MTV模式

        模型-視圖-控制器(Model-View-Controller,MVC)模式是目前在軟件工程領域普遍使用的一種設計模式。以MVC模式為依據(jù)設計出來的Web應用從邏輯上可以分為模型層、視圖層和控制層三個層次。分層之后,輸入處理、界面顯示和流程控制三個環(huán)節(jié)得到了有效的分離,實現(xiàn)了層次之間的松耦合。

        圖1 MVC模式示意圖

        MVC模式的示意圖如圖1所示,其中模型(Model)是對數(shù)據(jù)及其處理方法的抽象和建模,經(jīng)過抽象之后的模型可以存入數(shù)據(jù)庫,并為視圖提供所需的數(shù)據(jù);視圖(View)是用來顯示W(wǎng)eb應用界面的,具體顯示內(nèi)容由模型和控制器來決定;控制器(Controller)將模型和視圖組織在一起并進行協(xié)調(diào),以此來提供整個應用程序的業(yè)務邏輯。

        Django是一種遵循MVC模式的框架。然而,Django中采用的MVC模式與傳統(tǒng)意義上的MVC模式有所不同。從邏輯上看,Django整個框架分為模型(Model)、模板(Template)和視圖(View)三部分,因此Django的開發(fā)模式通常也簡稱為MTV模式[4]。Django框架的結構示意圖如圖2所示。

        圖2 Django框架的MTV模式示意圖

        在MTV模式中,models.py中定義的各種類代表數(shù)據(jù)模型(Model),和MVC中的模型(Model)相同;Django框架通過URLconf來實現(xiàn)MVC中的控制器(Controller),具體內(nèi)容寫在url.py文件中。MTV模式中的模板(Template)相當于MVC模式中的視圖(View),只負責展現(xiàn)數(shù)據(jù),具體內(nèi)容包含在HTML文件中。MTV模式中的視圖和傳統(tǒng)的MVC模式中的視圖有所不同,MTV模式中的視圖決定展現(xiàn)哪些數(shù)據(jù),以及如何渲染模板(Template),寫在views.py中。Django框架中的View(視圖)相當于一座橋梁,連接了Model(模型)和Template(模板)[5]。

        Django框架通過URLconf實現(xiàn)了MVC模式中的控制器。URLconf的工作原理是根據(jù)正則表達式來匹配統(tǒng)一資源定位符(UniformResourceLocator,URL),如果匹配成功則會執(zhí)行相應的視圖處理函數(shù)[6]。此外,在修改URL的同時并不需要修改與其對應的視圖處理函數(shù)。

        2 數(shù)據(jù)模型設計

        本系統(tǒng)采用了針對嵌入式平臺應用的輕量級關系型數(shù)據(jù)庫SQLite,SQLite將整個數(shù)據(jù)庫(定義、表、索引和數(shù)據(jù))都存儲在宿主主機上一個單一的文件中[7]。SQLite支持Windows/Linux等主流的操作系統(tǒng),同時也可以與C、C++、Python等編程語言相結合進行開發(fā)。SQLite是完全開源的且占用資源少,處理速度快。在本地開發(fā)時可以使用Django框架中內(nèi)置的SQLite,無需自行安裝和配置。

        本系統(tǒng)需要用4張表來存放數(shù)據(jù)信息,分別是:用戶信息表、用戶留言表、實驗室公告表、儀器借還信息表。本系統(tǒng)具體的表結構如表1~表4所示。

        表1 用戶信息表

        表2 用戶留言表

        表3 實驗室公告表

        表4 儀器借還信息表

        3 系統(tǒng)功能設計

        3.1 系統(tǒng)注冊和登錄界面

        本系統(tǒng)的用戶主要是實驗室內(nèi)部人員,用戶使用系統(tǒng)之前需要先進行注冊,注冊信息包括用戶名、電子郵箱、用戶密碼三部分。用戶輸入注冊信息之后,點擊注冊,注冊表單被提交到后臺服務器進行處理。系統(tǒng)會將用戶輸入的注冊信息與已經(jīng)存在的用戶信息進行比較,如果用戶輸入的用戶名和電子郵箱在用戶信息表中不存在,點擊注冊之后,系統(tǒng)會跳轉到注冊成功界面,提示用戶注冊成功。用戶可以選擇登錄或者返回系統(tǒng)首頁;如果用戶輸入的用戶名或電子郵箱在用戶信息表中已存在,點擊注冊之后,系統(tǒng)會提示相關錯誤信息,并重新跳轉到注冊界面。

        和注冊界面類似,用戶登錄時需要輸入用戶名和密碼,用戶點擊登錄之后,系統(tǒng)會將用戶輸入的登錄信息與數(shù)據(jù)庫中已經(jīng)存在的用戶信息進行比對,判斷該用戶是否存在或者用戶密碼是否正確。如果用戶輸入的登錄信息正確,則進入系統(tǒng)主界面,否則,系統(tǒng)會提示此用戶不存在或用戶密碼不正確。

        3.2 實驗室公告界面

        進入系統(tǒng)主界面,點擊“510公告欄”即可瀏覽實驗室公告內(nèi)容,公告內(nèi)容按發(fā)表時間降序排列,即最新發(fā)表的公告排在最前面。每條公告包含四個部分,分別為標題、內(nèi)容、發(fā)布人和發(fā)布時間。實驗室公告由系統(tǒng)管理員發(fā)布,用戶無需登錄系統(tǒng)也能查看實驗室公告,但是非管理員用戶既不能更改已發(fā)布的公告,也不能發(fā)布新公告。系統(tǒng)管理員可以使用Django自帶的后臺管理模塊對實驗室公告進行管理。

        3.3 用戶留言界面

        用戶登錄系統(tǒng)后,進入系統(tǒng)主界面,點擊“510留言板”即可查看具體留言內(nèi)容、時間和發(fā)布人。用戶進入留言界面以后,可以點擊 “發(fā)表新留言”來添加新留言。具體流程是:點擊“發(fā)表新留言”,彈出“發(fā)表新留言”界面,輸入留言標題、內(nèi)容、發(fā)布人、留言時間,點擊發(fā)表,表單會被提交到后臺進行處理,后臺數(shù)據(jù)庫會在用戶留言表中添加一個新記錄。成功發(fā)表新留言之后,系統(tǒng)會跳轉到留言板瀏覽界面,若未能成功發(fā)表新留言,則系統(tǒng)會停留在“發(fā)表新留言”界面,并提示錯誤信息給用戶。

        由于本系統(tǒng)的用戶主要是實驗室內(nèi)部人員,為了防止無關用戶故意發(fā)布無意義的留言,用戶必須在登錄系統(tǒng)后才能使用留言板功能。此外,留言板的管理權限歸系統(tǒng)管理員所有,普通的系統(tǒng)用戶可以查看留言的具體內(nèi)容,也可以發(fā)表新留言,但是不能更改或刪除已有的留言內(nèi)容。

        3.4 儀器借還信息界面

        由于實驗儀器和設備需要周期性地更新、升級和維護,而且相鄰實驗室之間也可能存在儀器的借進與借出,因此實驗儀器和設備的相關信息需要及時地更新和維護。本系統(tǒng)設計了一個儀器借還信息界面,系統(tǒng)將實驗室中所有的儀器和設備信息都提前錄入數(shù)據(jù)庫中,用戶登錄后可以查看所有儀器和設備的使用情況,也可以申請借用閑置的儀器和設備。用戶申請借用儀器時,必須填寫儀器編號、名稱、型號、借用人、歸還時間等信息。

        3.5 后臺管理功能

        Django框架提供了一個功能完善的后臺管理模塊,利用這個后臺管理模塊可以很方便地進行后臺數(shù)據(jù)管理[8]。在URLconf配置文件中添加url(r’^admin/’,admin.site.urls),添加完成后,在客戶端瀏覽器地址欄輸入URL鏈接,即可打開后臺管理模塊的登錄界面。如果想在后臺中對一個模型進行管理,比如Message,只需要在admin.py文件中添加如下兩行:

        from.modelsimportMessage

        admin.site.register(Message)

        添加完成后,登錄http://domainname/admin即可訪問后臺管理界面,其中domainname是網(wǎng)站域名。用戶名和密碼是在創(chuàng)建管理員用戶時定義的,即運行如下命令:

        $pythonmanage.pycreatsuperuser

        按照提示依次輸入用戶名,電子郵箱,用戶密碼,就可以創(chuàng)建一個管理員用戶。登錄后可以看到一個應用列表,其中認證和授權應用是開啟auth應用之后Django自動創(chuàng)建的。點擊labms應用,可以看到它包括了四個模型,點擊Boards,可以進入實驗室公告的管理界面,如圖3所示。

        圖3 實驗室公告管理界面

        4 系統(tǒng)的部署

        ApacheHTTPServer(簡稱Apache)是一個開源的網(wǎng)頁服務器。Apache安全、快速、可靠,可以在大多數(shù)計算機操作系統(tǒng)中運行,尤其對Linux系統(tǒng)的支持相當完善。Apache服務器的主要特性概括如下:

        (1)支持最新的HTTP/1.1通信協(xié)議;

        (2)支持通用網(wǎng)關接口(CGI);

        (3)擁有基于文件的配置過程;

        (4)支持基于IP和基于域名的虛擬主機。

        服務器平臺采用的Linux發(fā)行版為Ubuntu14.04LTS,Apache服務器版本為Apache/2.4.7。在終端輸入命令:

        sudoapt-getinstallapache2libapache2-mod-wsgi即可安裝Apache2和mod_wsgi。mod_wsgi是Apache用于支持Pythonwsgi協(xié)議的擴展。Python通過定義網(wǎng)絡服務器網(wǎng)關接口(PythonWebServerGatewayInterface,WSGI)來協(xié)調(diào)Web服務器與PythonWeb應用程序之間的溝通。本系統(tǒng)采用的wsgi版本為libapache2-mod3.4-4ubuntu2。

        接下來需要創(chuàng)建一個自己的站點,首先修改hosts文件,設置服務器的IP地址及其對應的域名,在hosts文件中添加:172.28.175.7labms.com。打開/etc/apache2/sites-available目錄,新建一個站點配置文件lab_management_system.conf。配置信息主要包括域名配置、根目錄配置、客戶端訪問權限配置和mod_wsgi工作模式配置。域名配置和根目錄配置如下:

        ServerNamelabms.com

        DocumentRoot

        /home/reus/workspace/lab_management_system

        通過客戶端訪問權限配置來控制能夠訪問的服務器主機和網(wǎng)絡,具體內(nèi)容如下:

        Requireallgranted

        其中Requireallgranted表示允許所有訪問。

        mod_wsgi有兩種工作模式:一種是嵌入模式,mod_wsgi直接在Apache進程中運行;另一種是后臺模式,mod_wsgi會借Apache的外殼,另外啟動一個或多個進程,然后通過socket和Apache進程進行通信。考慮到mod_wsgi工作在后臺模式時不會影響Apache進程,本系統(tǒng)中mod_wsgi采用的是后臺工作模式,具體配置如下:

        WSGIDaemonProcesslabms.comprocesses=1threads=15display-name=%{GROUP}

        python-path=/home/reus/workspace/lab_management_system:/usr/local/lib/python3.4/dist-packages

        WSGIProcessGrouplabms.com

        WSGIScriptAlias/ /home/reus/workspace/lab_management_system/lab_management_system/wsgi.py

        站點配置完成后在終端輸入命令sudoa2ensitelab_management_system,即可激活新建的站點。其中l(wèi)ab_management_system是站點配置文件的名字。站點啟動之后,需要重啟Apache服務器,在終端執(zhí)行以下命令:

        sudo/etc/init.d/apache2reload

        sudo/etc/init.d/apache2restart

        就可以重新啟動Apache服務器。服務器重新啟動之后,在客戶端瀏覽器的地址欄中輸入域名labms.com或者服務器的IP地址,即可訪問本系統(tǒng)的登錄界面。

        5 結論

        本文以Django框架為基礎,結合SQLite數(shù)據(jù)庫設計

        了一種實驗室信息管理系統(tǒng)。由于使用傳統(tǒng)的動態(tài)網(wǎng)頁語言進行Web應用開發(fā),其效率比較低下,因此本文采用Django框架來開發(fā)Web應用,不僅能提高開發(fā)效率,降低系統(tǒng)開發(fā)的復雜度,而且還簡化了系統(tǒng)后期的更新和維護。由于系統(tǒng)采用了B/S模式,因此用戶不用安裝額外的客戶端軟件,從而提高了系統(tǒng)的易用性。

        [1] 敖波.基于Web的實驗室管理系統(tǒng)的設計與實現(xiàn)[D].成都:電子科技大學,2009.

        [2]CHUNWJ.CorePythonprogramming[M].USA:PrenticeHall, 2007.

        [3]MARTELLIA,RAVENSCROFTA,ASCHERD.Pythoncookbook[M].CA:O’ReillyMedia.Inc, 2009.

        [4]FORCIERJ,BISSEXP,CHUNW.DjangoWeb開發(fā)指南[M]. 徐旭銘,譯.北京:機械工業(yè)出版社,2009.

        [5]MOORED,WILLIAMBR.ProfessionalPythonframeworks:Web2.0programmingwithDjangoandTurbogears[M].USA:WileyPublishing,Inc., 2007.

        [6] 謝國燕. 基于web技術基站維護數(shù)據(jù)管理系統(tǒng)的設計與實現(xiàn)[D]. 成都:電子科技大學, 2009.

        [7] 周玥. 基于Django框架的校園預約打印網(wǎng)站設計與實現(xiàn)[D].長春:吉林大學,2013.

        [8] 張臺,章杰,林培杰,等. 基于Django的快件攬收服務器的開發(fā)與應用[J]. 單片機與嵌入式系統(tǒng)應用,2016,16(2):51-54.

        西門子收購MentorGraphics進一步拓展在工業(yè)數(shù)字化領域的領導地位

        西門子近日宣布,西門子與MentorGraphics(Mentor)公司(NASDAQ:MENT)雙方已簽署并購協(xié)議,西門子將以每股37.25美元的價格現(xiàn)金收購Mentor,總收購價值折合 45億美元。Mentor董事會已批準這一并購協(xié)議,并確認其可行性。

        通過此次并購,西門子將憑借Mentor完善的電子集成電路和系統(tǒng)設計、仿真及制造解決方案極大拓展其行業(yè)領先的數(shù)字化企業(yè)軟件組合。這些業(yè)務實力對于無人駕駛汽車等現(xiàn)代智能互聯(lián)產(chǎn)品至關重要。兩家公司的結合將全面集成機械、熱能、電子和嵌入式軟件工具,進一步幫助西門子客戶加快創(chuàng)新速度,提高生產(chǎn)效率和優(yōu)化產(chǎn)品的操作性能。這將首次在跨技術領域的整個生命周期和整個企業(yè)范圍內(nèi)實現(xiàn)質(zhì)量、效率、靈活性、安全性以及速度的同步優(yōu)化。

        Mentor總部位于美國俄勒岡州威爾遜維爾,員工遍及全球32個國家。在截至2016年1月31日的上一財年中,營收約為12億美元,調(diào)整后的營業(yè)利潤率為20.2%。Mentor在全球共有超過14 000家客戶分布于通信、計算機、消費電子、半導體、網(wǎng)絡、航空航天、多媒體和交通運輸行業(yè)。Mentor在集成電路設計、測試和制造,電子系統(tǒng)設計和分析,以及包括汽車電子在內(nèi)的新興市場等戰(zhàn)略行業(yè)細分領域是公認的全球領導者。

        西門子預期這一并購將通過收入和利潤增長實現(xiàn)協(xié)同效應,在交易完成后四年內(nèi)實現(xiàn)息稅前利潤(EBIT)超過1億歐元。Mentor將成為西門子數(shù)字化工廠集團下屬的SiemensPLMSoftware業(yè)務的一部分。如需了解更多信息,請訪問:www.siemens.com.cn,或關注西門子中國官方微博http://weibo.com/siemens。

        西門子(中國)有限公司 供稿

        Design of autonomous four-rotor tracking aircraft based on the STM32 and OV2640

        GongXinding,YuYanmei,WuXiaoqiang,HeXiaohai

        (InstituteofImageInformation,CollegeofElectronicsandInformationEngineering,SichuanUniversity,Chengdu610064,China)

        ThispaperpresentsaDjango-basedlaboratoryinformationmanagementsystem.ThesystemdevelopmentfollowstheModel-View-Controller(MVC)pattern,usingtheDjangoframeworkasadevelopmentplatform.DjangoisaWebdevelopmentframeworkbasedonPythonlanguage.Itsupportsmultipledatabases,usingalightweightopen-sourcedatabaseSQLiteinthispaper.ForWebserver,alightweightWebserverthatcomeswiththeDjangoframeworkisusedinthedevelopmentstage.Afterthedevelopmentiscompleted,thesystemisdeployedtotheApacheserveronLinuxplatform.Thesystemrealizestheuserregistrationandlogin,Labannouncementview,instrumentcirculationinformationview,amessagetoexpressandview,andotherfunctions.AdministratorscanmanagethesystemthroughtheDjangoownbackgroundmanagementmodule,anduserscanaccessthesystemthroughabrowser,withouthavingtoinstallspecializedclient.

        Djangoframework;Apacheserver;Website;SQLitedatabase

        TP

        ADOI: 10.19358/j.issn.1674- 7720.2016.22.029

        龔新定,余艷梅,吳小強,等. 基于Django的實驗室信息管理系統(tǒng)設計[J].微型機與應用,2016,35(22):108-111.

        2016-07-22)

        龔新定(1991-),男,碩士研究生,主要研究方向:圖像處理與嵌入式開發(fā)。

        余艷梅(1975-),通信作者,女,博士,副教授,主要研究方向:圖像處理。E-mail:yuyanmei@scu.edu.cn。

        吳小強(1969-),男,高級工程師,主要研究方向:圖像處理,數(shù)據(jù)庫系統(tǒng),嵌入式系統(tǒng)。

        猜你喜歡
        界面實驗室用戶
        國企黨委前置研究的“四個界面”
        當代陜西(2020年13期)2020-08-24 08:22:02
        電競實驗室
        電子競技(2019年22期)2019-03-07 05:17:26
        電競實驗室
        電子競技(2019年21期)2019-02-24 06:55:52
        電競實驗室
        電子競技(2019年20期)2019-02-24 06:55:35
        電競實驗室
        電子競技(2019年19期)2019-01-16 05:36:09
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        人機交互界面發(fā)展趨勢研究
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        太大太粗太爽免费视频| 亚洲欧美成人一区二区在线电影| 97一区二区国产好的精华液| 久久99中文字幕久久| 久久熟女少妇一区二区三区| 80s国产成年女人毛片| 人妻少妇精品专区性色av| 国产AV国片精品有毛| 日韩av在线免费观看不卡| 亚洲av精二区三区日韩| 又爽又黄又无遮挡网站动态图| 亚洲另类欧美综合久久图片区| 亚洲色图第一页在线观看视频| 国产高颜值女主播在线| 啦啦啦www播放日本观看| 四虎精品影视| 久久蜜桃一区二区三区| 久久亚洲精品中文字幕| 亚洲精品久久中文字幕| 午夜影视啪啪免费体验区入口| 国产精品视频白浆免费看| 国产精品无码一区二区三级| 国产一线二线三线女| 日本高清在线播放一区二区三区| 在线观看的a站免费完整版| 潮喷失禁大喷水aⅴ无码| 99久久久无码国产aaa精品| 激情内射亚洲一区二区| 国产三级黄色免费网站| 国产中文字幕乱人伦在线观看| 一级毛片不卡在线播放免费| 国产精品美女自在线观看| 永久免费毛片在线播放| 亚洲精品国产福利一二区| 日韩无码尤物视频| gg55gg国产成人影院| 欧美天天综合色影久久精品| 成人无码视频在线观看网站| 人妻少妇偷人精品一区二区三区| 中文字幕无线码免费人妻| 成人三级在线|