python+django+sql学生信息管理后台开发

yipeiwu_com6年前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.更改学生信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

将Python代码嵌入C++程序进行编写的实例

把python嵌入的C++里面需要做一些步骤     安装python程序,这样才能使用python的头文件和库     在我...

python实现类的静态变量用法实例

本文实例讲述了python类的静态变量用法。分享给大家供大家参考。具体分析如下: 这里使用静态变量目的是在类中实现一个静态的队列,这里用数组实现,任何时候插入到队列中的数据不会和类的实例...

总结Python编程中函数的使用要点

为何使用函数 最大化代码的重用和最小化代码冗余 流程的分解 编写函数 >>def语句 在Python中创建一个函数是通过def关键字进行的,def语句将创建一个函...

python中文分词教程之前向最大正向匹配算法详解

前言 大家都知道,英文的分词由于单词间是以空格进行分隔的,所以分词要相对的容易些,而中文就不同了,中文中一个句子的分隔就是以字为单位的了,而所谓的正向最大匹配和逆向最大匹配便是一种分词匹...

python mqtt 客户端的实现代码实例

这篇文章主要介绍了python mqtt 客户端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装paho-mqtt...