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

所属分类: 脚本专栏 / python 阅读数: 2030
收藏 0 赞 0 分享

一、功能

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

二、平台

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常见加密模块用法分析【MD5,sha,crypt模块】

这篇文章主要介绍了Python常见加密模块用法,结合实例形式较为详细的分析了MD5,sha与crypt模块加密的相关实现方法与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python向日志输出中添加上下文信息

这篇文章主要介绍了Python向日志输出中添加上下文信息的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现的简单dns查询功能示例

这篇文章主要介绍了Python实现的简单dns查询功能,结合实例形式分析了Python基于socket模块的dns信息查询实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

利用Anaconda完美解决Python 2与python 3的共存问题

Anaconda 是 Python 的一个发行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu,下面这篇文章主要给大家介绍了利用Anaconda完美解决Python 2与python 3共存问题的相关资料,文中介绍的非常详
收藏 0 赞 0 分享

Python随机读取文件实现实例

这篇文章主要介绍了Python随机读取文件的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

用生成器来改写直接返回列表的函数方法

下面小编就为大家带来一篇用生成器来改写直接返回列表的函数方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

python爬虫入门教程--快速理解HTTP协议(一)

http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道。下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解HTTP协议的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

老生常谈Python进阶之装饰器

下面小编就为大家带来一篇老生常谈Python进阶之装饰器。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈Python基础之I/O模型

下面小编就为大家带来一篇浅谈Python基础之I/O模型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

python如何获取服务器硬件信息

这篇文章主要为大家详细介绍了python获取服务器硬件信息的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多