当前位置:  开发笔记 > 编程语言 > 正文

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

这篇文章主要为大家详细介绍了python+django+sql学生信息管理后台开发,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、功能

实现对学生对个人信息的增删查改
实现后台对所有学生信息的操作

二、平台

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有