999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Wagtail的校園信息分享系統的設計與實現

2018-09-29 02:38:04劉奇燦
智能計算機與應用 2018年4期

劉奇燦

摘 要:為了更好的將分散碎片的校園信息集中整合服務于師生,提出了一種網絡環境下的校園信息分享系統。該系統采用Wagtail開源框架,信息檢索則擴展了Wagtail內置搜索功能,分享的結果以圖表的方式直觀地反饋給用戶,從而實現了對校園信息有效管理和分享等功能。

關鍵詞:校園信息; 分享系統; Wagtail; Django

Abstract: In order to better integrate the fragmentary campus information for serving teachers and students, campus information sharing system is proposed under a network environment. It uses Wagtail open source framework, extends built-in search function, gives sharing feedback intuitively to the user in a graphical way and realizes the effective management and transmission of campus information, etc.

Key words: campus information; sharing system; Wagtail; Django

引言

在高速發展的信息時代,高校各類校園學生事務信息紛亂繁冗,極不利于高校學生有效地汲取相關內容。將分散碎片的學生事務信息通過統一的平臺進行整理和發布能夠更有效地反饋給學生。迄今為止國內廣大高校對學生事務信息[1]整合還沒有較成熟的方案。以陜西師范大學為例,人們將雜亂而無序的學生事務信息,如:學生學業輔導、學生社團活動詳情、學生業務辦理信息等等,進行有效地整理,使學生事務信息更有效、更便捷地服務師生。既節省人力、物力,又提高工作效率,也組成了一個執行有序、體系龐大、結構多樣、關系復雜、功能全面的信息平臺,實現了各個相互獨立的信息資源庫之間的相互協調和有效導航,實現了信息的共享與集成。

同時,網絡信息技術的發展使網頁編寫語言發展迅速,Wagtail框架是基于Python的Django框架[2],具有平臺獨立性、友好性、擴展性等特性。使其在國外許多慈善機構、大學和公共部門組織的網絡平臺深受歡迎。Wagtail框架遵循MTV開發模式,內置豐富的Web開發控件,集成了一個輕量級Web Server,可以使開發人員方便高效建立靈活多樣的應用。

本文基于Wagtail的校園信息分享系統,以強大的開源框架和MTV模式為支持,通過B/S模式實現了用戶分級管理功能、信息內容管理功能和文件資源分享管理等功能。

1 Wagtail框架概述

Wagtail是一個開源的,使用Python和Django框架構建的強大的Web應用框架。采用MTV的軟件設計模式,即模型M(負責業務對象與數據庫的對象)、模版T(負責前端展示給用戶)、視圖V(負責業務邏輯)。Wagtail框架的主要特點。

(1)建立于Python的基礎上具有強大的應用可擴展性、平臺無關性,擁有豐富的第三方模塊。

(2)開發于Django框架上具有Django的全部高性能核心:面向對象映射器[3],基于正則的URL路由分發器和可擴展模板系統等。

(3)基于典型的MVC框架的MTV設計模式,各組件都是低耦合的。每個APP應用均可獨立更改而不影響到其它的部分。MTV模式如圖1所示。

(4) Wagtail框架擁有豐富的、易快速二次開發的內置資源管理功能和內容豐富的文本編輯功能等。

(5)支持多種數據庫[4]:如Postgresql、MySql、SQLite和Oracle等數據庫。

2 需求分析

當前校園各類學生事務信息紛亂繁冗,充斥在校園生活的每個角落。有些信息重要但是零碎,有時需要某些校園學生信息又不知道在哪里可汲取相關正規內容。由于現在隨時隨地使用手機瀏覽器非常便捷,因此研究人員使用Web開發技術,借助校園執行力可信度高的學生組織,快速開發出一套基于Wagtail的校園信息分享系統。系統主要功能。

(1)用戶分級管理功能。系統提供了用戶登陸、注冊與注銷的功能,并對用戶進行了分級管理。以實現對用戶數據安全性即用戶和管理員隱私的保護。普通用戶可快速搜索查看所需信息內容。對管理員用戶,系統則可以提供強大和靈活的內容編輯器,并提供其它數據或權限的操作功能。

(2)信息內容管理功能。該功能包括信息內容或頁面的添加、編輯、刪除、優化、發布、狀態轉換、規約等操作步驟。系統管理員將整理過的信息內容導入信息平臺中,處理的結果可以迅速以圖表的方式呈現出來,從而給用戶良好的直觀感受。

(3)文件資源分享管理功能。該功能專門提供給系統管理員使用。提供各類文件(txt、doc、excel、ppt等)、圖像、音樂、視頻的后臺上傳接口,資源統一在此處集成管理,更有助于信息內容以優化的多樣化優化的形式進行管理。

3 系統設計

目前,校園各類信息龐雜無序、內容分散、流動性強且無法找到傳統紙質版的文件,統一集成難度極大。為了進一步保證系統信息內容的高度有效、真實可靠性,系統上線前期采用PGC(專家生產內容)模式,借助校園執行力可信度高的學生組織提供強有力的支持。

3.1 系統業務流程

校園學生事務信息繁多,可以采取分類方法進行問題規模的縮減,系統采取兩級管理模式,即校園信息管理員和校區信息模塊管理員。下面分別以普通學生用戶和管理員的業務流程做一簡介。

普通學生用戶進入分享系統首頁,可選擇感興趣的模塊進行瀏覽,或者直接選擇咨詢臺模塊。點擊進入搜索欄并輸入問題的關鍵字,系統自動關鍵字匹配,結果以圖文并茂的形式反饋給用戶。管理員登錄系統后臺,系統根據用戶名而識別管理員權限并提供不同的系統操作功能。進入后管理員選擇自己需要編輯的欄目進行相應的編輯優化等操作。管理員、普通用戶功能結構如圖2、圖3所示。

3.2 系統總體架構

分層是現代軟件系統的基本架構,通過分層有利于系統的維護和升級。本系統也采用分層思想進行設計,充分考慮了未來擴展的可能性。系統結構表示層結合了purecss開源框架。業務邏輯層則結合了Wagtail開源框架。

3.3 系統特色

(1)實現將各類校園學生事務信息問題匯總管理在線上統一集成管理,真正實現了校園有不懂的問題可以到校園學生信息分享系統查找。

(2)詳盡完備的問題查詢搜索功能,充分解決人工查找的滯后性,如有需要通過此系統關鍵詞查詢便可查看詳細信息。

(3)提升系統數據庫的安全性,采用具有攻防性的登錄身份權限認證機制,大大降低系統被攻擊的可能性,確保系統的安全。

4 系統實現

系統基于Wagtail的開發實現主要分為3個模塊:數據模型創建( 核心)、項目模板構建和自定義搜索模塊。項目模板構建模塊是和用戶直接交互的,用戶可以通過Web頁面進行一系列的操作。

4.1 數據模型創建

基于Django的Wagtail 應用可以通過Django 框架提供的API 操作不同的數據庫引擎,進行數據庫的創建和遷移。同時,Wagtail借助ORM(對象映射)的技術核心,用類的定義描述表的字段,并將類存放到models.py 中,形成MTV 模式中數據模型(Model)部分,大大提高數據庫驅動網站的優越性。

考慮到校園信息分享系統的規模,采用的數據庫為SQLite類型。其訪問速度較快,屬輕量級的數據庫,支持多種操作系統,占用資源低。SQLite使用本地文件作為存儲介質,并且用原生的文件系統權限來訪問和控制。適合大量的用戶進行并發查詢搜索。

數據模型定義后, 在命令提示符下將當前路徑轉到項目路徑。然后執行manage.py migrate 和python manger.py makemigrations命令,就可以在數據庫中生成相應表。

4.2 項目模板構建

由于開源框架具有文檔充實、可伸縮、源代碼公布、可靠等優點[5],為了最大限度降低風險,提高質量和大幅度節省時間,系統項目模板構建運用了成熟的開源框架,并對開源框架進行擴展和定制。

項目模板構建系統引用了輕量美觀的purecss框架。有一系列集成的layouts供系統使用,且具有輕量級、響應式的特點。前后臺交互渲染過程中使用Wagtail的static標簽引用。對整個項目而言,模板對應的頁面模型處于其上下文環境,在模板中可以直接引用到該頁面模型中的所有元素和間接調用該頁面模型的子模型或者父模型,然后按照頁面排版將元素填充進去。

其中模板語言會對HTML標簽和JS等語法標簽進行自動轉義,上線后有利于項目的安全性。項目可以對工程公共部分進行重載,僅對頁面部分進行修改(比如主頁)再使用繼承,避免大量重復代碼,降低冗余性。

管理員進入校園信息分享系統后臺,可選擇需要修改的欄目。界面效果如圖4所示。普通學生用戶進入首頁選擇自己關注的欄目進行相關查詢操作。普通用戶首頁如圖5所示。

4.3 自定義搜索模塊

Wagtail不僅提供了一個全面可擴展的搜索應用,也提供了一個快捷方式search()和QuerySet方法。自定義數據模型[6]可以通過 search方法在搜索后臺直接查詢。

以自定義查詢Message類的實例對象中通過關鍵字“Student”搜索實例對象The excellent Student為例,其代碼如下:

>>>from myapp.models import Message

>>>from wagtail.wagtailsearch.backends

import get_search_backend# Search Messages

>>> s=get_search_backend()

>>> s.search("Student",Message)

>>>[]

5 結束語

采用基于Wagtail框架開發,不僅大大推進了構建動態系統的開發流程,而且降低了客戶端的負載,結構簡單、組織清晰。目前校園信息分享系統上線前期已取得一定的反響,成功匯總大約三萬字的校園學生事務信息問題詳情,為師生提供了問題解答幫助。由于系統的局限性仍很大,還不能夠有效地自動獲取校園內各官網公布的消息。所以未來分享系統的“一個中心+N個領域”的戰略模式:搭建專業全面的校園學生事務信息系統,立足于及時、準確地提供最新、最權威、最豐富的信息咨詢。

參考文獻

[1] 毛佳,胡勇,閻覃,等. 高校社團服務平臺的設計與開發[J]. 電子技術與軟件工程,2017(12):44-45.

[2] 張良均,王路,譚立云,等. Python數據分析與挖掘實戰[M]. 北京:機械工業出版社,2015.

[3] 陳紅茜, 孟超英, 邱小彬, 等. 基于Django的高校合同制人員管理系統[J]. 華東師范大學學報 (自然科學版) , 2015 (S1) :464-470.

[4] 魏笑笑,王小正,王圣滔,等. 基于Spark 的校園信息分析系統的設計與實現[J]. 軟件,2017,38(10):94-99.

[5] 董海蘭. 基于Python的非結構化數據檢索系統的設計與實現[D]. 南京:南京郵電大學,2017.

[6] 濮文強,曹磊,夏斌. 基于Django框架的關鍵詞排名監控系統設計[J]. 微型機與應用,2017,36(20):97-100.

[7] 邵娟,陳麗. 中美高校學生事務管理比較研究的啟示與思考[J]. 高教論壇,2017(1):125-128.

主站蜘蛛池模板: 呦女亚洲一区精品| 新SSS无码手机在线观看| 国产乱子精品一区二区在线观看| 午夜a视频| 欧美专区日韩专区| 伊人国产无码高清视频| 久久毛片基地| 精品国产www| 正在播放久久| 亚洲综合色吧| 亚洲国产高清精品线久久| 午夜限制老子影院888| 久久精品欧美一区二区| 亚洲精品国产综合99久久夜夜嗨| 色吊丝av中文字幕| 国产色婷婷| 久久永久免费人妻精品| 美女一区二区在线观看| 日韩中文字幕亚洲无线码| 丁香婷婷在线视频| 40岁成熟女人牲交片免费| 亚洲精品图区| 欧美专区日韩专区| 无码精油按摩潮喷在线播放 | 婷婷六月激情综合一区| 特级精品毛片免费观看| 韩国福利一区| 亚洲一区二区日韩欧美gif| 欧美人与牲动交a欧美精品| 国产精品露脸视频| 久久一本日韩精品中文字幕屁孩| 欧美色视频日本| 国产精品刺激对白在线| AV网站中文| 全部免费毛片免费播放| 亚洲成aⅴ人在线观看| 亚洲黄色高清| 国产精品不卡片视频免费观看| 九色在线观看视频| 波多野结衣在线se| 国产a v无码专区亚洲av| 欧美性猛交一区二区三区| 精品小视频在线观看| 日本日韩欧美| 男女猛烈无遮挡午夜视频| 日韩美毛片| 亚洲人在线| 国产成人久久777777| 国产香蕉97碰碰视频VA碰碰看| 真实国产精品vr专区| 国产国产人成免费视频77777| 亚洲精品天堂自在久久77| 中文字幕无码制服中字| 欧美中文字幕无线码视频| 亚洲欧美一区二区三区图片| 视频二区国产精品职场同事| 中文国产成人精品久久| AV熟女乱| 在线观看免费人成视频色快速| 日日拍夜夜操| 午夜综合网| 日本三级黄在线观看| 国产亚洲欧美在线人成aaaa| 亚洲第七页| 国产清纯在线一区二区WWW| 91精品在线视频观看| 亚洲人精品亚洲人成在线| 亚洲午夜福利在线| 福利在线不卡一区| 久久a级片| 91九色国产porny| 亚洲国产综合自在线另类| 国产欧美日韩另类精彩视频| 日韩免费毛片| 成人在线视频一区| 91视频青青草| 亚洲无码91视频| 亚洲欧美日韩另类在线一| 亚洲黄色成人| 免费国产在线精品一区| 99久久性生片| 亚洲性网站|