1. 程式人生 > >基於django框架編寫的簡單資訊採集系統

基於django框架編寫的簡單資訊採集系統

新學期開學,又要統計學生資訊。如果每個人都填寫一個Excel的話,最後做彙總工作的那個人一定神煩。所以基於django編了一個小網頁,用於採集學生的基本資訊。剛學會做網頁,也是第一次用django,寫的不好,望見諒。主要參考了菜鳥教程的django系列教程,很簡單,一兩個小時就上手了。如果之前對django不熟悉的,可以先把上面的幾個教程看一下,然後再看我的原始碼應該就很簡單了。接下來直接介紹程式碼,程式原始碼我放到了我的github上面,歡迎大家下載~~:
1,先寫一個靜態HTML頁面,是資訊採集的表單。沒什麼好說的:

<!DOCTYPE html>
<html lang
="en">
<head> <meta charset="UTF-8"> <title>學碩4班資訊採集</title> </head> <body> <h1>學碩4班資訊採集</h1> <h2>請大家認真填寫,每一項都不要有空缺。填寫完畢之後點選提交按鈕即可</h2> <form action="/xinxicaiji/" method="get"> <table> <tr><td
>
姓名</td><td><input type="text" name="xingming"></td><td>XXX</td></tr> <tr><td>學號</td><td><input type="text" name="xuehao"></td><td>2011210220</td></tr> <tr><td>導師</td><td><input
type="text" name="daoshi">
</td><td>張三</td></tr> <tr><td>導師電話</td><td><input type="text" name="dsdianhua"></td><td>13333333333</td></tr> <tr><td>本人手機號</td><td><input type="text" name="brdianhua"></td><td>18888888888</td></tr> <tr><td>郵箱</td><td><input type="text" name="eMail"></td><td>[email protected]</td></tr> <tr><td>微訊號</td><td><input type="text" name="weixin"></td><td>583960209</td></tr> <tr><td>QQ號</td><td><input type="text" name="QQ"></td><td>583960209</td></tr> <tr><td>體重</td><td><input type="text" name="weight"></td><td>70</td></tr> <tr><td>身高</td><td><input type="text" name="height"></td><td>180</td></tr> <tr><td>鞋號</td><td><input type="text" name="size"></td><td>42</td></tr> <tr><td>火車站</td><td><input type="text" name="huochezhan"></td><td>太原站</td></tr> <tr><td>特長</td><td><input type="text" name="habit"></td><td>足球</td></tr> <tr><td>學費</td><td><input type="text" name="money"></td><td>8000</td></tr> <tr><td>父親姓名</td><td><input type="text" name="baba"></td><td>李四</td></tr> <tr><td>父親工作</td><td><input type="text" name="babaGongzuo"></td><td>某廠職工</td></tr> <tr><td>父親手機號</td><td><input type="text" name="babatel"></td><td>18888888888</td></tr> <tr><td>母親姓名</td><td><input type="text" name="mama"></td><td>王五</td></tr> <tr><td>母親工作</td><td><input type="text" name="mamaGongzuo"></td><td>某廠職工</td></tr> <tr><td>母親手機號</td><td><input type="text" name="mamatel"></td><td>18888888888</td></tr> <tr><td>家庭電話</td><td><input type="text" name="hometel"></td><td>18888888888</td></tr> <tr><td>家庭地址</td><td><input type="text" name="homeadd"></td><td>某省某市某街道</td></tr> <tr><td>在京聯絡人姓名</td><td><input type="text" name="beijing"></td><td>趙六</td></tr> <tr><td>在京聯絡人工作</td><td><input type="text" name="beijingGongzuo"></td><td>某廠職工</td></tr> <tr><td>在京聯絡人手機號</td><td><input type="text" name="beijingtel"></td><td>18888888888</td></tr> <tr><td>宿舍號</td><td><input type="text" name="dor"></td><td>學十925</td></tr> <tr><td>宿舍長</td><td><input type="text" name="dorP"></td><td>劉七</td></tr> </table> <input type="submit" value="提交"> </form> </body> </html>

效果如下圖所示:
這裡寫圖片描述

2,配置資料庫設定。在專案路徑下執行python manage.py startapp *** 新建一個引用。然後修改裡面的 models.py檔案,其實就是新建一個類,對應於資料庫的表。類的每一個屬性對應於表中的每一個欄位。類定義如下圖所示,其實就是要採集的資訊。

class XinXiCaiJi(models.Model):
    xingming = models.CharField(max_length=20)
    xuehao = models.CharField(max_length=20)
    daoshi = models.CharField(max_length=20)
    dsdianhua = models.CharField(max_length=20)
    brdianhua = models.CharField(max_length=20)
    eMail = models.CharField(max_length=30)
    weixin = models.CharField(max_length=20)
    QQ = models.CharField(max_length=20)
    weight = models.CharField(max_length=20)
    height = models.CharField(max_length=20)
    size = models.CharField(max_length=20)
    huochezhan = models.CharField(max_length=20)
    habit = models.CharField(max_length=400)
    money = models.CharField(max_length=20)
    baba = models.CharField(max_length=20)
    babaGongzuo = models.CharField(max_length=20)
    babatel = models.CharField(max_length=20)
    mama = models.CharField(max_length=20)
    mamaGongzuo = models.CharField(max_length=20)
    mamatel = models.CharField(max_length=20)
    hometel = models.CharField(max_length=20)
    homeadd = models.CharField(max_length=200)
    beijing = models.CharField(max_length=20)
    beijingGongzuo = models.CharField(max_length=20)
    beijingtel = models.CharField(max_length=20)
    dor = models.CharField(max_length=20)
    dorP = models.CharField(max_length=20)

然後執行python manage.py migrate 就可以生成對應的資料庫了。在此之前你需要在settings.py檔案中設定資料庫資訊和本應用app的資訊,具體參見菜鳥教程 的文章,注意,有的教程生成資料庫的命令用的是python manage.py syncdb。這是老版本,新版的django都已經改成migrate。還有就是可能你的專案部署之後可能會提醒你資料庫的表並未建立,此時應該執行以下兩個命令,重新建立資料表。

python manage.py makemigrations
python manage.py migrate

3,頁面和資料庫都有了,接下來就是頁面之間跳轉和頁面內操作的定義。首先定義urls.py檔案。初始登入hello頁面,指向前面寫的HTML模板,當點選提交按鈕後,跳轉到xinxicaiji頁面,指向caijiwangcheng函式。

    url(r'^hello/$', hello),
    url(r'^xinxicaiji/$', search.caijiwancheng),

caijiwancheng函式定義如下:主要功能是判斷資訊填寫是否完整並將該條資料插入資料庫中;

def caijiwancheng(request):
    request.encoding = 'utf-8'
    message = ''
    for key in request.GET:
        if request.GET[key] == '':
            message = '請填寫完整資訊'
            break
    if 'xingming' in request.GET and message == '':
        message = request.GET['xingming'].encode('utf-8') + '同學,你的資訊錄入完成。謝謝配合~'
        test1 = XinXiCaiJi(xingming = request.GET['xingming'], xuehao = request.GET['xuehao'], daoshi = request.GET['daoshi'],
                           dsdianhua = request.GET['dsdianhua'], brdianhua = request.GET['brdianhua'], eMail = request.GET['eMail'],
                           weixin = request.GET['weixin'], QQ = request.GET['QQ'], weight = request.GET['weight'], height = request.GET['height'],
                           size = request.GET['size'], huochezhan = request.GET['huochezhan'], habit = request.GET['habit'],
                           money = request.GET['money'], baba = request.GET['baba'], babaGongzuo = request.GET['babaGongzuo'], babatel = request.GET['babatel'],
                           mama = request.GET['mama'], mamaGongzuo = request.GET['mamaGongzuo'], mamatel = request.GET['mamatel'], hometel = request.GET['hometel'],
                           homeadd = request.GET['homeadd'], beijing = request.GET['beijing'], beijingGongzuo = request.GET['beijingGongzuo'],
                           beijingtel = request.GET['beijingtel'], dor = request.GET['dor'], dorP = request.GET['dorP'])
        test1.save()
    return HttpResponse(message)

這樣基本的功能模組都已完成,就可以上線部署了。很簡單,執行python manage.py runserver 0.0.0.0:8000 即可。注意,這裡必須是0。0。0。0,只有這樣別人才可以訪問你的網頁。我是放在自己電腦上,然後校內網可以訪問。如果要部署到外網上還要買域名空間之類的,沒有嘗試。
這樣大家填寫完成之後,你就可以把資料庫匯出來做成excel表了。程式碼請參考github網站。

相關推薦

基於django框架編寫簡單資訊採集系統

新學期開學,又要統計學生資訊。如果每個人都填寫一個Excel的話,最後做彙總工作的那個人一定神煩。所以基於django編了一個小網頁,用於採集學生的基本資訊。剛學會做網頁,也是第一次用django,寫的不好,望見諒。主要參考了菜鳥教程的django系列教程,很簡

基於ssm框架的個人部落格系統(10)--編寫部落格頁面開發

在前面我們實現了部落格管理的分頁、查詢和刪除,現在我們來設計實現編寫部落格的頁面,要寫部落格,我們就使用富文字編輯器,有很多可以選擇KingEditor、UEditor、CkEditor,我沒用過百度的UEditor,現在試一回,反正是中文的,應該是容易上手的。 自行下載:

django框架中的緩存系統

cme template memcached xxx cache 發送 系統 esp cmem 一、瀏覽器的緩存機制   Cache-Control策略:     Cache-Control和Expires的作用相似,即指出當前資源的有效期,控制瀏覽器是直接從瀏覽器緩存獲取

基於Django 的 FreeSwitch 開源GUI 管理系統 YouPBX

hub switch 全面 local targe ipp 賬號 get 友好 YouPBX YouPBX 是一個強大 FreeSwift (電話軟交換系統) 的管理GUI系統,基於Django開發,功能全面,體驗友好,可以基於此項目做一個完善的IPPBX系統、呼叫中心應

基於struts2框架開發的學生管理系統

vpd peid esc png 頁面 介紹 pass 面數據 分享 學生管理系統采用struts2框架作為後臺開發框架,jsp實現頁面數據的展示,數據庫采用mysql。功能介紹:包含學生信息管理,班級信息管理,年級信息管理,系統信息管理等功能。數據庫模型設置如下:CREA

基於SSM框架的高中線上考試系統

開發環境 Eclipse+JDK1.7+Tomcat7+MySQL5.6.24 開發框架 Spring+SpringMVC+Mybatis 系統功能  1.支援學生、教師、管理員三方登陸.           &nb

基於C語言的課程資訊管理系統

一、 設計內容及要求 每門課程包含以下資訊項:課程編號,課程名稱,課程性質,學時,授課學時,實驗或上機學時,學分,開課學期。系統的主要功能包括: 建立課程資訊檔案,根據提示輸入課程的各項資訊,然後將課程資訊儲存到一個檔案中。 增加課程資訊,在原有課程資訊檔案的基礎上增加新的課程資

基於 Django 框架的敏捷 Web 開發(二)

開始Django的旅程 在下面的步驟裡,將會利用Django框架實現一個完整小巧的Web應用程式。應用例項將建立實現一個新聞公告牌,使用者可以從後臺新增新聞分類和條目,然後在前端頁面中顯示新聞的統計資訊。在應用的實現過程中,將會逐步介紹Django的開發方式及其帶來的快

基於 Django 框架的敏捷 Web 開發(三)

Django模組的部署 在Django中,與工程全域性相關的設定都需要在配置檔案settings.py中新增。筆者使用MySQL作為後臺資料庫,並且已經在MySQL中建立名為django_news的資料庫。則需要在settings.py檔案中的相應位置設定DATABASE_

Python基於Django框架開發之views層

登入邏輯順序 1.先判斷請求為GET或POST 2.查詢資料庫該使用者是否存在 3.查詢資料庫該使用者密碼是否正確 註冊邏輯順序 1.線判斷請求為GET或POST 2.查詢資料庫該使用者是否存在 3.判斷兩次密碼是否正確 4.判斷註冊資訊的格式是否正確 如果

基於java的現代物流資訊管理系統開發,javaweb畢業設計

**基於java的現代物流資訊管理系統開發,javaweb畢業設計** 基於java的現代物流資訊管理系統開發mysql資料庫建立語句 基於java的現代物流資訊管理系統開發oracle資料庫建立語句 基於java的現代物流資訊管理系統開發sqlserver資料庫建立語句

基於SSH框架的個人部落格系統04】DAO層,Service層與Action層

DAO層-資料的增刪改查 J2EE開發人員使用資料訪問物件(DAO)設計模式把底層的資料訪問邏輯和高層的商務邏輯分開.實現DAO模式能夠更加專注於編寫資料訪問程式碼。DAO層的每個類都依賴於SessionFactory,SessionFactory介面負責初始化Hibern

基於Bootstrap框架的臨床資料管理系統的設計與開發

        基於Bootstrap框架的臨床資料管理系統的設計與開發             2018年11月10日     目  錄 第一章緒論

Python Web介面開發學習筆記(基於Django框架)(一)

通過學習蟲師的《Python web介面開發與測試》一書記錄並總結一些主要知識點和心得。 2017.12.04 1. 建立一個Django專案 前提:安裝好python和Django,以及需要一個IDE,之前的python程式都在Eclipse IDE中編輯,現在使用Ato

python程式設計:從入門到實踐學習筆記-基於Django框架的Web開發-設計樣式和部署(二)

部署學習筆記 接下來我們將使用Heroku(基於Web的平臺)管理Web應用程式的部署。 建立Heroku賬戶 訪問https://signup.heroku.com註冊一個帳號。 安裝Heroku Toolbelt 安裝Heroku Toolbelt,對部署到He

Q / GDW 376.1—2009電力使用者用電資訊採集系統通訊協議報文解析示例

1.集中器登入主站註冊幀報文 //該幀為集中器傳送給主站的登入註冊幀 登入: 68 32 00 32 00 68 C9 03 44 04 00 00 02 71 00 00 01 00 88 16 解析: 68       

【day 11】python程式設計:從入門到實踐學習筆記-基於Django框架的Web開發-Django入門(二)

學習筆記目錄 第十八章 Django入門(二) 建立應用程式 django專案由一系列應用程式組成,他們協同工作,讓專案稱謂一個整體。首先我們執行命令python manage.py startapp learning_logs。 定義模型

基於ssm框架技術的線上拍賣系統的設計與實現

**基於ssm框架技術的線上拍賣系統的設計與實現** 基於ssm框架技術的線上拍賣系統的設計與實現mysql資料庫建立語句 基於ssm框架技術的線上拍賣系統的設計與實現oracle資料庫建立語句 基於ssm框架技術的線上拍賣系統的設計與實現sqlserver資料庫建立語句

基於文字介面的客戶資訊管理系統-純面向物件

    很久沒寫部落格了,從現在開始記錄Java專案,從基礎開始慢慢的向上延伸,純粹作為本人的個人記錄,也順便拿出來分享一下,不喜勿噴,有錯請指正一:專案介紹介紹:模擬實現一個基於文字介面的——客戶資訊管理系類和物件(屬性、方法及構造器)類的封裝引用陣列陣列的插入、刪除和替換

基於SSH框架的滑雪場租賃管理系統的設計開發

通過滑雪場租賃管理系統這個平臺,可以實現滑雪裝置租賃情況的資訊化、網路化、系統化、規範化管理,從繁雜的資料查詢和統計中解脫出來,更好的掌握租賃及利潤狀況。系統的主要功能包括:會員資訊管理、雪具資訊管理、租賃、歸還管理、租賃情況統計。 本系統前臺主要使用JSP作為開發語言