简单制作一个学生系统
django项目
一个django项目包含基本的几个部分:
路由(主路由和分路由-urls),主设置(settings),文件和静态文件(static,templates),orm系统(models)
思路
通过路由进行路径的转发,实现页面间的跳转。通过django自带的orm系统,进行数据库表格的增删改查,而一个学生管理系统,目前来看就是简单的增删改查
执行
数据库配置
django默认使用的是初始化时产生的那个db.sqlite3,如果想要使用mysql,则需要修改原有配置为如下
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'stu_info_sys',
'HOST':'localhost',
'PORT':3306,
'USER':'root',
'PASSWORD':'你的密码',
}
}
增删改查
如下使用了django的Orm系统
查
首先将数据放到首页展示,即查询所有数据
而django自带的orm系统,简单的语句就可以查询到所有数据,这里的Student_info是models里面的类,models里面的类通过继承models.Model进行继承,下面的就成了表格,与数据库进行了绑定,默认会生成一个系统自动生成的表格django_开头的后续跟着小写的类名,我们可以通过如下的方法进行表格名字的定义
stu_records = Student_info.objects.all()
from django.db import models
class Student_info(models.Model):
name = models.CharField(max_length=32,verbose_name = '学生姓名')
gender = models.CharField(max_length=4,verbose_name="性别")
age = models.SmallIntegerField(verbose_name="年龄")
major = models.CharField(max_length=32)
come_from = models.CharField(max_length=32)
class Meta:
db_table = "student_info"
增
添加一个学生:从前端的表单里面获取到提交上来的学生信息,通过Orm系统进行学生数据的添加
这里分为了get方式和post方式的区别,get就是普通请求,post是表单提交,当有表单信息提交上来之后,我们就对数据处理,否则给到它前端填写数据的页面。
# 添加一个学生的信息
def add_stu(request):
if request.method == 'GET':
return render(request, 'add_stu.html')
# 获取表单数据
name = request.POST.get('name')
gender = request.POST.get('gender')
age = request.POST.get('age')
major = request.POST.get('major')
come_from = request.POST.get('come_from')
# 写入数据库
Student_info.objects.create(
name=name,
gender=gender,
age=age,
major=major,
come_from=come_from
)
# 重定向到 学生信息列表
return redirect('/stu/')
改
修改一个学生的信息
修改数据和增加学生数据是一样的,区别在于提前通过id获取到数据,在已有的数据基础上进行修改
# 修改学生信息
def edit(request, id):
if request.method == "GET":
# 从数据库当中查询到 指定id的记录
student = Student_info.objects.get(id=id)
return render(request, 'modify_stu.html', {'student': student})
# 获取表单数据
name = request.POST.get('name')
age = request.POST.get('age')
gender = request.POST['gender']
major = request.POST.get('major')
come_from = request.POST.get('come_from')
# 更新学生信息
Student_info.objects.filter(id=id).update(
name=name,
age=age,
gender=gender,
major=major,
come_from=come_from
)
# 重定向
return redirect('/stu/')
删
删除用户数据,这里和修改数据类似,只是获取到id直接删除即可
def remove(request, id):
Student_info.objects.get(id=id).delete()
# 重定向
return redirect('/stu/')
总结
这里我们简单的制作了一个django项目,其实我们在后续的开发中,也就是在此基础上进行更多维度的考虑