基於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作為開發語言