python+django+sql学生信息管理后台开发
作者:DW_Deven 发布时间:2021-10-09 11:20:26
标签:python,管理后台
一、功能
实现对学生对个人信息的增删查改
实现后台对所有学生信息的操作
二、平台
windows+pycharm(python开发工具)
三、逻辑框图
四、代码展示
此后台采用的是MVC的风格模式进行编码
1.VIEWS部分
def hello(request):#功能选择
# t = loader.get_template("hello.html")
# c = RequestContext(request)
return render_to_response("hello.html",context_instance=RequestContext(request))
def addstu(request):# 添加学生信息
name = request.POST.get("name")
age = request.POST.get("age")
learn = request.POST.get("learn")
newstu = Student(name=name,age=age,learn=learn)
newstu.save()
# c = RequestContext(request)
# t = loader.get_template("check.html")
return render_to_response("done.html",context_instance=RequestContext(request,{"age":age,"learn":learn,"name":name}))
def checkstu(request):#查询学生信息
find = []
stulist = Student.objects.all()
name = request.POST.get("name")
age = request.POST.get("age")
learn = request.POST.get("learn")
if name:
find = Student.objects.filter(name__contains=name)
elif age:
find = Student.objects.filter(age=age)
elif age:
find = Student.objects.filter(learn__contains=learn)
return render_to_response("check.html",context_instance=RequestContext(request,{"stulist":stulist,"find":find}))
def putmessage(request):#信息提交中转
return render_to_response("add.html",context_instance=RequestContext(request))
def deletStu(request):#删除学生信息
alert=""
name = request.POST.get("name")
age = request.POST.get("age")
learn = request.POST.get("learn")
delet = request.POST.get("delet")
find = Student.objects.filter(name__contains =name)
if not find:
alert = u"没有找到名为" + name + u"的学生"
elif not delet:
elert=""
else:
find.delete()
alert = u"成功删除该学生"
return render_to_response("delet.html",context_instance=RequestContext(request,{"alert":alert,"student":find}))
def putmessage2(request):#信息提交中转2
return render_to_response("put2.html",context_instance=RequestContext(request))
def rewrite(request):#学生信息更改
aler=u"提示:"
stulist = Student.objects.all()
message = request.POST.get("message")
old = request.POST.get("old")
new = request.POST.get("new")
if old == "name":
student= Student.objects.filter( name__contains = message).update(name = new)
aler+=u"信息修改成功"
elif old== "age":
student= Student.objects.filter( name__contains = message).update(age = new)
aler+=u"信息修改成功"
elif old =="learn":
student= Student.objects.filter( name__contains = message).update(learn = new)
aler+=u"信息修改成功"
else:
aler+=u"请输入正确的需要修改的信息类别(name,age或learn)"
return render_to_response("show.html",context_instance=RequestContext(request,{"id":id,"message":message,"new":new,"stulist":stulist,"aler":aler}))
2.MODELS 部分
class Student(models.Model):#学生模板
name = models.CharField(max_length=20)
age = models.IntegerField()
learn = models.CharField(max_length=20)
def __unicode__(self):
return self.name
class Teacher(models.Model):#老师模板
name = models.CharField(max_length=20)
age = models.IntegerField()
teach = models.CharField(max_length=20)
student = models.ManyToManyField( Student,through = "OneClass")
def __unicode__(self):
return self.name
class OneClass(models.Model):#班级模板
name = models.CharField(max_length=50)
teacher = models.ForeignKey(Teacher)
student = models.ForeignKey(Student)
def __unicode__(self):
return self.name
3.CONTROLLER部分
URL配置
urlpatterns = [url(r'^blog/','blog.views.hello'),
url(r'^adstu/','blog.views.addstu'),
url(r'^add/','blog.views.putmessage'),
url(r'^check/','blog.views.checkstu'),
url(r'^readydel/','blog.views.putmessage2'),
url(r'^delet/','blog.views.deletStu'),
url(r'^show/','blog.views.rewrite'),
url(r'^admin/', include(admin.site.urls)),]
表单的设置
__author__ = 'deven'
from django import forms
class ContentForm(forms.Form):
username = forms.CharField()#max_length = 20)
password = forms.IntegerField()#max_value= 20)
五、功能展示
1.主界面(功能选择)
2.增加学生信息
3.查询学生信息
4.删除学生信息
5.更改学生信息
来源:http://blog.csdn.net/dw_deven/article/details/48710167


猜你喜欢
- 在回程的高铁上学习了这一节,由于对cmd命令行的相关知
- 本文实例讲述了Python基于list的append和pop方法实现堆栈与队列功能。分享给大家供大家参考,具体如下:#coding=utf8
- 1、安装AnacondaAnaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
- 引言Python 是一个强大的语言,提供了许多内置函数以帮助开发者编写高效、简洁的代码。在这篇文章中,我们将深入探讨三个内置函数:map、f
- 简单了解多子图学习matplotlib的时候,有人肯定会觉得为啥不用Excel,为啥不用origin,为啥不直接使用软件,其实matplot
- 本篇文章博主将带大家一起学习MySQL中常用的数据查询语言。DQL(Data Query Language 数据查询语言)SELECT 语法
- 背景我们经常调侃程序员每天都在写bug,这确实是事实,没有测出bug不代表程序就真的不存在问题。传统的代码review、静态分析、人工测试和
- 最近接触了很多数据库的东西,本来是一直接触的是sql server,不过由于项目需要就开始对mysql进行了连接。下面就让我这个菜鸟浅谈下经
- 发现上一篇文章解决了mysql服务无法启动问题后,竟然用root用户无密码不能登录,5.7版本不能在初始化时用root无密码登录,找了很多帖
- 在python中可以使用json将数据格式化为JSON格式:1.将字典转换成JSON数据格式:s=['张三','年龄
- 问题一开始安装的Autoprefixer是最新版本的3.0.1,一波操作后发现无效想是不是因为没设置browsers?那就设置一下吧&quo
- 背景工作中,当我们需要对字符串按照某个字符串切分成字符串数组数时,常用到strings.Split()最近在使用过程中踩到了个坑,后对踩坑原
- 1 解决方案【方案一】载入模型结构放在全局,即tensorflow会话外层。'''载入模型结构:最关键的一步'
- 本文主要介绍了Python利用numpy实现三层神经网络的示例代码,分享给大家,具体如下:其实神经网络很好实现,稍微有点基础的基本都可以实现
- Pycharm安装cv2 [python3.6]python解释器为Anaconda的3.6版本下载在这里选择对应的版本进行下载,其中参数分
- 本文主要介绍如何用Python设计一个经典小游戏:猜大小。在这个游戏中,将用到前面我介绍过的所有内容:变量的使用、参数传递、函数设计、条件控
- 找到一句可以获得当前最新ID的语句,如下:conn.execute("insert into member (user,code)
- 如下所示:import sysfrom PyQt5 import QtGui, QtCore, QtWidgetsfrom PyQt5.Qt
- 概述从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的语言, 实现机器语言和人类
- 1. floor 函数1.1 floor 函数的作用floor() 函数的作用是返回小于等于该值的最大整数举例说明:select floor