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
0
投稿
猜你喜欢
- 页面访问慢是网站公认的死穴,如果页面都没法访问,往后再精彩的体验都等于零。这个问题如果专业点说,叫做“加载”呈现效率。那么具体了讲,除常规的
- 前言前言:想写这个代码的原因是因为实习的时候需要根据表格名创建对应的文件夹,如果只是很少个数文件夹的话,ctrl+shift+n还可以接受吧
- 分享给大家一篇文章,教你怎样用Python画了一棵圣诞树,快来学习。如何用Python画一个圣诞树呢?最简单:height = 5stars
- zip()的作用先看一下语法:zip(iter1 [,iter2 [...]]) —> zip objectPython的内置help
- ASP通过XMLDom在服务器端操作XML文件的主要方法和实现对于小数据量,xml文件在检索更新上于ACCESS有很多优势。我曾经测试过不用
- 前言大家应该都有所体会,在不同的项目可能会使用不同的Django版本,兼任性是大问题,如果不幸要去接手不同版本的项目,比较惨烈!如果想重装一
- 在一些项目中, 我们会使用json 来将字符串转为结构体,但是很多时候,这种结构体只会用一次,基本上只会用于反序列化, 对于这种只用到一次的
- 继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有1.学生信息的录入管理;2.学生选课操作;3.
- numpy库概述numpy库处理的最基础数据类型是由同种元素构成的多维数组,简称为“数组”数组的特点:数组中所有元素的类型必须相同数组中元素
- 这篇文章主要介绍了Python input函数使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 简介在php中,类型的继承使用extends关键字,而且最多只能继承一个父类,php不支持多继承。class MyClass {
- 方法一:f = open("foo.txt") &
- 本文实例讲述了Laravel框架执行原生SQL语句及使用paginate分页的方法。分享给大家供大家参考,具体如下:1、运行原生sqlpub
- 前言Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。其中Pandas定义了Series 和 DataF
- 摘要:现代网站和web应用程序趋向于依赖客户端的大量的javascript来提供丰富的交互。特别是通过不刷新页面的异步请求来返回数据或从服务
- golang 1.7版本中context库被很多标准库的模块所使用,比如net/http和os的一些模块中,利用这些原生模块,我们就不需要自
- 1.setting--version control--subversion,按照图中红色字体填入对应信息2.配置中途遇到没找到svn.ex
- 写了网址规范化后,尚奇公司的柳先生建议再深入讨论一下301转向/重定向。下面就谈谈我所了解的301转向在搜索引擎优化方面的应用。什么是301
- 大家好,给大家分享下如何使用Python脚本操作Excel实现批量替换。使用的工具Openpyxl,一个处理excel的python库,处理
- 本文实例讲述了python 协程 gevent原理与用法。分享给大家供大家参考,具体如下:geventgreenlet已经实现了协程,但是这