康耀龍 張景安 馮麗露
(1.山西大同大學計算機與網絡工程學院 山西省大同市 037009 2.山西大同大學網絡信息中心 山西省大同市 037009)
(3.山西大同大學教育科學與技術學院 山西省大同市 037009)
高校校園人口密集,經常會有同學和教師遺失課本、鑰匙、準考證、U 盤、雨傘以及錢包等物品的現象。失主丟失了物品往往苦于難尋,尋找的方式雖有多種,有的借助朋友圈,有的在校園廣播站進行廣播,有的校園里也有規范的失物招領處,但物品想要及時歸還給失主還是多有不便。隨著移動網絡的發展,APP 的應用越來越廣泛[1,2],校園失物招領APP 簡化了失物招領信息的發布和瀏覽,提高了失物的找回率,提升了校園生活的便捷性。
教師和學生在校園里丟失物品,首先要有發布功能模塊,其次,他們可以通過瀏覽頁面找尋信息,就需要瀏覽功能模塊,如果要瀏覽指定的信息,這里就要有搜索功能模塊,如果想進行評論,就要有評論功能模塊。還有就是基本功能模塊,這里有注冊、登錄、注銷、密碼的修改等。失物招領系統使用者一類是管理員,一類是用戶,用戶包括教師和學生。
本系統采用的是Django 框架,Django 是一個開放源代碼的應用框架,由Python 寫成[3]。Django 框架包含了開發中的一些組件,這樣使用這個框架進行開發的話,我們就可以把時間多放在我們的邏輯上面。例如,登錄時候的驗證、URL 的分發、模板系統、對象關系映射(ORM)和數據庫遷移等功能都已包含在Django 框架中。Django 使用的是MTV 模式架構。Django 框架模式如圖1所示。
該系統是基于B/S 架構,分為三層,分別是前端、后端、數據庫。前端包括Html、CSS 等,后端是使用python 語言和Django 框架進行相關邏輯功能的實現。數據庫是采用了MySQL 數據庫,使用ORM 進行數據的更新和查找。經過前期需求分析,確定該APP主要有9 個功能模塊,分別為注冊模塊、登錄模塊、失物招領信息瀏覽、失物招領信息篩選、尋物信息發布、招領信息發布、失物信息的評論、用戶注銷和密碼修改、信息的審核。
該系統采用關系型數據庫管理系統MySQL[4],其體積小、速度快、總體擁有成本低[5],本系統中的表有用戶表、尋物表、招領表、評論表、地點表、物品類型表。該系統的數據表如表1所示。
用戶表(UserProfile):用戶和管理員共用的一個表,用來存儲基本信息。其中主鍵為id 唯一標識一條記錄、password 存儲的是經過加密處理后的密碼、Is_staff 用于判斷該用戶是否可以登錄到后臺。

圖1:Django 框架模式
尋物表(Seek):用來存儲發布的尋物信息。title 字段用于顯示主要的信息和模糊查詢、pub_time 用于對尋物信息進行排序、lost_time 用于精確查詢的條件進行篩選、status 用于管理員的審核。
評論表(Comments):用來記錄用戶在某一尋物信息下的評論,author 記錄的是用戶名、content 記錄的是用戶發表的評論內容、comment_msg_id 記錄的是在某一條尋物信息下發表的評論。
該系統是基于B/S 架構,分為三層,分別是前端、后端、數據庫。前端包括Html、CSS 等,后端是使用Python 語言和Django 框架進行相關邏輯功能的實現。數據庫是采用了MySQL 數據庫,使用ORM 進行數據的更新和查找。其中數據庫在setting.py 中進行配置;wsgi.py 是一個基于WSGI 的服務站點;urls.py 是負責把URL映射到應用程序;名字為SWZL 的App 負責后臺功能的實現。
注冊頁面的入口是在登錄頁面中,注冊模塊中的form 表單樣式是使用了框架中的樣式。用戶需要填寫用戶名、密碼、確認密碼、學號、名字信息,然后進行注冊。

表1:數據表
用戶如果登錄成功后在對應的views 視圖函數中調用Django框架自帶的認證系統把用戶登錄的信息在后端生成相關的session數據。之后會返回到首頁頁面,由模板渲染顯示。
用戶名和密碼的匹配使用了auth 組件,核心代碼如下:

失物招領模塊分為失物招領信息的瀏覽和失物招領信息的篩選。失物招領信息的瀏覽和篩選不需要用戶進行登錄,用戶以瀏覽的方式可以查看網站上的失物信息,失物招領信息的篩選用來幫助用戶進行多余信息的快速過濾,幫助用戶找到自己需要的失物信息,縮短了用戶在查找信息過程中的時間,提高了查找效率。
views 視圖核心代碼如下:

尋物信息模塊用于用戶進行發布尋物信息,只有用戶登陸了才能進行發布,否則會跳到登錄界面要求登錄。用戶點擊發布尋物信息,會跳轉至一個表單頁面,通過填寫表單進行信息發布。用戶發布成功后信息處于非審核狀態,需要管理員進行審核才能被用戶瀏覽到。另外,還設計了尋物信息的評論功能,評論可以幫助發布者了解到丟失物品的信息,提高了找失物的效率,有利于信息的快速散布,大大提高找到失物的幾率。頁面有評論輸入框來支持用戶的輸入,然后進行發布。
用戶發布了失物招領信息,發布成功后,并不能立即在瀏覽頁面看到這條信息,需要管理員進行審核。管理員登錄后臺對未審核的信息進行查看,把它們的狀態改為已審核,則用戶才能查看到發布的信息。
本系統使用的Django 開發框架模式,通過MySQL 數據庫管理后臺數據信息。失物招領APP 圍繞五個方面,設計并實現了用戶注冊、用戶登錄、失物招領信息瀏覽、失物招領信息篩選、尋物信息發布、招領信息發布、失物信息評論、用戶的注銷和密碼的修改、后臺信息的審核9 個具體功能。為校園用戶提供了一個操作簡便、瀏覽快捷的移動式“失物招領處”,該APP 的開發為全方位提升校園科技服務提供了更多技術借鑒。