【python畢業設計】Django框架實現學生信息管理系統

Django框架實現學生信息管理系統

演示視頻:Django學生信息管理系統_騰訊視頻

演示界面內容如下

總體概括

注冊流程

首先進行輸入用戶名(郵箱)、密碼以及驗證碼,輸入完之后點擊注冊按鈕。如果輸入的不正確,提示錯誤信息。

如果一切信息填寫正確無誤,調用STMP模塊發送激活郵件,用戶必須要點擊接收到郵箱鏈接,進行郵件激活后才方可登陸。

即使注冊成功,沒有激活的用戶也不能登陸,用戶以get的方式直接重定向到注冊頁面。

注冊登錄:

用戶能在系統中進行登陸注冊和忘記密碼進行找回的功能。

個人中心:修改頭像,修改密碼,修改郵箱,可以看到我的信息。

日志記錄:

記錄后臺人員的操作,方便發現BUG和查看各項調用進行時間。

導航欄:學生信息中有基本信息、年級及成績信息的模塊,能夠排序篩選等功能。

多選操作:

可以選擇多條記錄進行刪除操作,還可以在課程列表頁可以對不同課程進行排序。

數據頁碼:

可以設置各項數據在每一頁中顯示的數量多少,進行翻頁功能。

模塊列表頁:

能夠有過濾器功能,在范圍內進行查看數據。還能將數據導出為csvxmljson等數據格式。

model.py

from django.db import models# Create your models here.
class Grades(models.Model):gname = models.CharField(max_length=20)gdate = models.DateTimeField()gteacher = models.CharField(max_length=20)ggirlnum = models.IntegerField()gboynum = models.IntegerField()isDelete = models.BooleanField(default=False)def __str__(self):return self.gnameclass Students(models.Model):sname = models.CharField(max_length=20)sgender = models.BooleanField(default=True)sminzu = models.CharField(max_length=20)sbir = models.IntegerField()scontend = models.CharField(max_length=20)shome = models.CharField(max_length=20)sidcard = models.CharField(max_length=20)sschnum = models.IntegerField()stel = models.CharField(max_length=20)steacher = models.CharField(max_length=20)isDelete = models.BooleanField(default=False)# 關聯外鍵sgrade = models.ForeignKey("Grades", on_delete=models.CASCADE)def __str__(self):return self.sname# class Score(models.Model):
#     math = models.IntegerField()# 關聯外鍵sgrade = models.ForeignKey("Grades", on_delete=models.CASCADE)from django.db import models
from django.contrib.auth.models import Group
from django.conf import settings
from django.utils.encoding import python_2_unicode_compatibleAUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User')SERVER_STATUS = ((0, u"Normal"),(1, u"Down"),(2, u"No Connect"),(3, u"Error"),
)
SERVICE_TYPES = (('moniter', u"Moniter"),('lvs', u"LVS"),('db', u"Database"),('analysis', u"Analysis"),('admin', u"Admin"),('storge', u"Storge"),('web', u"WEB"),('email', u"Email"),('mix', u"Mix"),
)@python_2_unicode_compatible
class AccessRecord(models.Model):date = models.DateField()user_count = models.IntegerField()view_count = models.IntegerField()class Meta:verbose_name = u"Access Record"verbose_name_plural = verbose_name# def __str__(self):#     return "%s Access Record" % self.date.strftime('%Y-%m-%d')from django.db import models
from django.contrib.auth.models import Group
from django.conf import settings
from django.utils.encoding import python_2_unicode_compatibleAUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User')SERVER_STATUS = ((0, u"Normal"),(1, u"Down"),(2, u"No Connect"),(3, u"Error"),
)
SERVICE_TYPES = (('moniter', u"Moniter"),('lvs', u"LVS"),('db', u"Database"),('analysis', u"Analysis"),('admin', u"Admin"),('storge', u"Storge"),('web', u"WEB"),('email', u"Email"),('mix', u"Mix"),
)@python_2_unicode_compatible
class AccessRecord(models.Model):date = models.DateField()user_count = models.IntegerField()view_count = models.IntegerField()class Meta:verbose_name = u"Access Record"verbose_name_plural = verbose_name# def __str__(self):#     return "%s Access Record" % self.date.strftime('%Y-%m-%d')

admin.py

from django.contrib import admin# Register your models here.
from .models import Grades,Studentsclass StudentsInfo(admin.TabularInline):#StackeInLine顯示不同 增加頁面model = Studentsextra = 2class GradesAdmin(admin.ModelAdmin):inlines = [StudentsInfo]#列表頁屬性list_display = ['id','gname','gdate','ggirlnum','gboynum','gteacher','isDelete',]list_filter = ['gteacher']search_fields = ['gname']list_per_page = 5## #添加修改頁屬性# fields = ['ganame','gdate','ggirlnum','isDelete','gboynum']# fieldsets = [('num',{"fields":['ggirlnum','gboynum']}),('base',{"fields":['gname','gdate','isDelete','home','shome','sbir','sidcard','sschnum','stel']})]@admin.register(Students)
class StudentAdmin(admin.ModelAdmin):def gender(self):if self.sgender:return "女"else:return "男"#設置頁面名稱gender.short_description = "性別"list_display = ['pk','sname',gender,'scontend','sgrade','isDelete','shome','sbir','sidcard','sschnum','stel']#每頁顯示人數list_per_page = 10#按照班級篩選list_filter = ['sgrade']#查找search_fields = ['sname']#執行動作的位置actions_on_bottom = Trueactions_on_top = False#注冊
# admin.site.register(Students,StudentAdmin)
admin.site.register(Grades,GradesAdmin)

? ??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455672.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455672.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455672.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python中continue只結束本次循環_循環(while,break,continue),轉義字符

Apple iPhone 11 (A2223) 128GB 黑色 移動聯通電信4G手機 雙卡雙待 4999元包郵 去購買 >01. 程序的三大流程 在程序開發中,一共有三種流程方式: 順序 —— 從上向下,順序執行代碼 分支 —— 根據條件判斷,決定執行代碼的 分支 …

碼率控制技術原理

引起編碼器的輸出比特碼率波動的原因主要有兩個。首先,數字視頻信號中包含了大量的時域和空域冗余,編碼器的主要任務就是去除這些冗余。由于時間冗余和空間冗余是隨機的,從而造成編碼器輸出比特率波動。另一個原因是變長編碼,變長…

python如何安裝pip

pip的安裝操作 pip簡介 pip 是一個現代的,通用的 Python 包管理工具。提供了對Python 包的查找、下載、安裝、卸載的功能。 環境搭建 安裝pip首先要安裝python,可以參考python安裝教程 安裝完python后,可以在cmd中輸入pip list 測試一下pip是否默認附帶著安裝,若…

【排序算法】python 十大經典排序算法(全網最詳)

排序算法可以分為內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序算法有:插入排序、希爾排序、選擇排序…

最新海康攝像機、NVR、流媒體服務器、回放取流RTSP地址規則說明

本文檔主要介紹海康威視設備預覽、回放、流媒體取流的RTSP URL和IE直接預覽、回放的HTTP URL。RTSP為取流協議,取到碼流后需要解碼顯示,可以通過VLC播放器進行測試,IE等瀏覽器網頁不支持RTSP協議直接取流預覽或者回放。網頁上需要跳過登錄界面…

pug模板引擎(原jade)

前面的話 為什么要引入pug,pug有什么特別之處呢?有一些嵌套層次較深的頁面,可能會出現巢狀嵌套,如下圖所示 在后期維護和修改時,一不小心少了一個尖括號,或者某個標簽的開始和閉合沒有對應上,就…

python安裝環境傻瓜式安裝_前后端分離——前端開發環境傻瓜式一步到位 nodejs ruby python nginx 安裝搭建配置...

前端開發環境一步到位 一、準備工作 nodejs安裝 安裝:next->next.... Ruby安裝 安裝:next->next.... 需要配置到path:將安裝目錄復制到環境變量中,跟jdk環境變量配置一樣。 注意下一步:Python安裝 安裝&#xff…

【Python】Python學到什么程度可以面試工作?------持續更新 ...

前言: 從事python學習,有爬蟲、web后臺、深度學習相關經驗, 坐標北京歡迎騷擾。 本答案力求簡潔和直擊重點,代碼部分使用Python3,更詳細的解釋請Google,回答有誤請務必提醒答主,我將及時改正。…

H.264的碼率控制算法

H.264的碼率控制算法采用了多種技術,其中包括自適應基本單元層(Adaptive Basic Unit Layer)、流量往返模型(Fluid Traffic Model)、線性MAD模型、二次率失真模型等。并且采用了分層碼率控制策略,共分為三層:GOP層、幀層和基本單元…

消息中間件Client模塊劃分

上圖是之間討論確定的系統架構(后續內容會按照這個架構來敘述),其中: 客戶端包含Producer和Consumer兩大塊 客戶端需要和NameServer交互來獲取元數據 客戶端需要和Broker交互來讀寫消息 Client模塊劃分 1. 網絡模塊 第一個仍然是…

詳解HashMap數據結構實現

HashMap的設計是由數組加鏈表的符合數據結構,在這里用自己的語言以及結合源碼去總結一下,如果有不對的地方希望評論指正,先拱手謝謝。 HashMap是日常中非常常用的一種數據結構,我們要想深入了解學習任何一門技術,都是要…

java web開發學習手冊_Java 人必備學習手冊開發下載!

今天給大家分享一套 5000 頁的 Java 學習手冊,新鮮出爐!此手冊內容專注 Java技術,包括 JavaWeb,SSM,Linux,Spring Boot,MyBatis,MySQL,Nginx,Git,…

Django初次體驗

Django初次體驗 關于django的安裝,寶寶們可以參考django簡介以及安裝 Django框架的搭建 在終端中進入需要建立項目的目錄 執行: django-admin startproject mysite其中,mysite是項目目錄名,可以自定義 我們來看看startprojec…

【LeetCode-面試算法經典-Java實現】【002-Add Two Numbers (單鏈表表示的兩個數相加)】...

【002-Add Two Numbers (單鏈表表示的兩個數相加)】 原題 You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked…

關鍵幀 關于decode_one_frame函數

田克平(94338047) 16:57:34能自己設置某幀為關鍵幀嗎? 抱柱者(86311414) 16:57:59to 田克平可以 田克平(94338047) 17:00:00呵呵,把丟包后的下一幀設置為I幀可以嗎?來處理丟幀現象 ☆雪天/kf☆(279373002) 17:00:42這個難度大了 田克平(94338…

不出現php version網頁_php冷知識 - 從命令行參數列表中獲取選項

分享一個php的冷知識 - ,從命令行參數列表中獲取選項用到的函數是getopt 說明函數簽名是這樣的getopt ( string $options [, array $longopts [, int &$optind ]] ) : array|bool false解析傳入腳本的選項,成功返回數組,解析失敗返回fals…

【機器學習】opencv-攝像頭中的人臉采集

本次在視頻識別的程度上增添了攝像頭實時識別, 區別在于: # v cv2.VideoCapture(./dzd2.mp4) v cv2.VideoCapture(0) import numpy as npimport cv2face_detector cv2.CascadeClassifier(./haarcascade_frontalface_alt2.xml) # v cv2.VideoCapt…

[計算機視覺][神經網絡與深度學習]Faster R-CNN配置及其訓練教程2

faster-rcnn分為matlab版本和python版本,首先記錄弄python版本的環境搭建過程.matlab版本見另一篇:faster-rcnn(testing): ubuntu14.04caffecuda7.5cudnn5.1.3opencv3.0matlabR2014a環境搭建記錄 首先,進入官方github網站:https://github.com/rbgirshick/py-faster-…

modbus從站模擬軟件_作為工控電氣人,你知道我們必備的軟件有哪些嗎?

作為工控電氣人,你知道我們必備的軟件有哪些嗎?今天我就來給大家介紹一下,工控電氣人常用的幾款軟件,有了它們,我們的工作學習將會更易上手,效率翻倍。以下介紹主要是分為電工常用軟件,PLC編程軟…

錯誤檢測dP-bitstream-ei_flag runRestrictRef

JM86模型,對于錯誤檢測,dP->bitstream->ei_flag在什么情況下置1?還是無錯的時候dP->bitstream->ei_flag0,有錯時dP->bitstream->ei_flag等于一個較大的無效值? 看下所有給 dP->bitstream->ei_…