【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.mzph.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…

不出现php version网页_php冷知识 - 从命令行参数列表中获取选项

分享一个php的冷知识 - ,从命令行参数列表中获取选项用到的函数是getopt 说明函数签名是这样的getopt ( string $options [, array $longopts [, int &$optind ]] ) : array|bool false解析传入脚本的选项,成功返回数组,解析失败返回fals…

[计算机视觉][神经网络与深度学习]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编程软…

【数据分析】豆瓣电影Top250爬取的数据的可视化分析

豆瓣Top250网址 将之前爬取到的豆瓣电影进行简单的可视化: 数据列表保存为CSV格式,如图 导入数据 做好准备 #!-*- coding:utf-8 -*- import pandas as pd import numpy as np import matplotlib.pylab as plt import re from numpy import rank from bu…

sqlmap的二次开发

1、sqlmapapi的帮助信息。 -s 启动sqlmap作为服务器 -h 指定sqlmap作为服务器的IP地址,默认127.0.0.1 -p 指定sqlmap服务器的端口,默认端口为8775 2、启动服务 浏览器访问: 3、api介绍:sqlmap项目下的api.py文件含有所有的api adm…

docker nginx配置_docker随手笔记第十二节 jenkins+docker+nginx+纯静态页面配置

docker随手笔记第一节 docker概念及安装docker随手笔记第二节 docker常用命令解析docker随手笔记第三节 docker构建java镜像docker随手笔记第四节 docker安装mysql5.7docker随手笔记第五节 docker安装redis4.0docker随手笔记第六节 docker安装jenkinsdocker随手笔记第七节 jenk…