py文件
1 from django.conf.urls import url 2 from django.contrib import admin 3 from APP01.views import classes,teachers,students 4 5 urlpatterns = [ 6 url(r'^admin/', admin.site.urls), 7 # class相关 8 url(r'^classes.html/', classes.get_classes), 9 url(r'^add_classes.html/', classes.add_classes), 10 url(r'^del_classes.html/', classes.del_classes), 11 url(r'^edit_classes.html/', classes.edit_classes), 12 url(r'^set_teachers.html', classes.set_teachers), 13 # teacher相关 14 url(r'^teachers.html/', teachers.get_teachers), 15 url(r'^add_teachers.html/', teachers.add_teachers), 16 url(r'^del_teachers.html/', teachers.del_teachers), 17 url(r'^edit_teachers.html/', teachers.edit_teachers), 18 url(r'^set_classes.html', teachers.set_classes), 19 # student相关 20 url(r'^students.html/', students.get_students), 21 url(r'^add_students.html/', students.add_students), 22 url(r'^del_students.html/', students.del_students), 23 url(r'^edit_students.html/', students.edit_students), 24 ]
1 DATABASES = { 2 'default': { 3 'ENGINE': 'django.db.backends.mysql', 4 'NAME': 'http001', #你的数据库名字,现在mysql创建这样一个数据库 5 'USER': 'root', #你的数据库用户名 6 'PASSWORD': '123', #你的数据库密码 7 'HOST': '', #你的数据库主机,留空默认为localhost 8 'PORT': '3306',#你的数据库端口 9 } 10 }
1 from django.db import models 2 3 # Create your models here. 4 5 class Classes(models.Model): 6 """ 7 班级表 8 """ 9 name = models.CharField(max_length=32) 10 m = models.ManyToManyField("Teachers") 11 12 class Teachers(models.Model): 13 """ 14 老师表 15 """ 16 name = models.CharField(max_length=32) 17 18 class Student(models.Model): 19 username = models.CharField(max_length=32) 20 age = models.IntegerField() 21 gender = models.BooleanField() 22 cs = models.ForeignKey(Classes)
1 from django.shortcuts import render,redirect,HttpResponse 2 from APP01 import models 3 4 def get_classes(request): 5 cls_list = models.Classes.objects.all() 6 return render(request,"get_classes.html",{'cls_list':cls_list}) 7 8 def add_classes(request): 9 if request.method == "GET": 10 return render(request,"add_classes.html") 11 elif request.method == "POST": 12 name = request.POST.get('name') 13 models.Classes.objects.create(name=name) 14 return redirect('/classes.html/') 15 16 def del_classes(request): 17 nid = request.GET.get('nid') 18 models.Classes.objects.filter(id=nid).delete() 19 return redirect('/classes.html/') 20 21 def edit_classes(request): 22 if request.method == "GET": 23 nid = request.GET.get('nid') 24 obj = models.Classes.objects.filter(id=nid).first() 25 return render(request,"edit_classes.html",{'obj':obj}) 26 elif request.method == "POST": 27 id = request.POST.get('cid') 28 name = request.POST.get('cname') 29 models.Classes.objects.filter(id=id).update(name=name) 30 return redirect("/classes.html/") 31 32 def set_teachers(request): 33 if request.method == "GET": 34 nid = request.GET.get('nid') 35 cls_obj = models.Classes.objects.filter(id=nid).first() 36 cls_teacher = cls_obj.m.all() #该班级对应的老师们 37 all_teacher = models.Teachers.objects.all() #所有的老师 38 return render( 39 request, 40 "set_teachers.html", 41 {"cls_teacher":cls_teacher, 42 "all_teacher":all_teacher, 43 "nid":nid} 44 ) 45 elif request.method == "POST": 46 nid = request.GET.get("nid") 47 teacher_list = request.POST.getlist("ts") 48 print("当前班级的ID:", nid, "分配的老师们:", teacher_list) 49 class_obj = models.Classes.objects.filter(id=nid).first() 50 class_obj.m.set(teacher_list) 51 return redirect("/classes.html/")
1 from django.shortcuts import render,redirect,HttpResponse 2 from APP01 import models 3 4 def get_students(request): 5 stu_list = models.Student.objects.all() 6 return render(request,"get_students.html",{'stu_list':stu_list}) 7 8 def add_students(request): 9 if request.method == "GET": 10 cls_list = models.Classes.objects.all() 11 return render(request,"add_students.html",{'cls_list':cls_list}) 12 elif request.method == "POST": 13 username = request.POST.get("username") 14 age = request.POST.get("age") 15 gender = request.POST.get("gender") 16 cs = request.POST.get("cs") 17 models.Student.objects.create( 18 username = username, 19 age = age, 20 gender = gender, 21 cs_id = cs 22 ) 23 return redirect("/students.html/") 24 def del_students(request): 25 nid = request.GET.get("nid") 26 stu_obj = models.Student.objects.filter(id=nid).delete() 27 return redirect("/students.html/") 28 29 def edit_students(request): 30 if request.method == "GET": 31 nid = request.GET.get('nid') 32 stu_obj = models.Student.objects.filter(id=nid).first() 33 cls_list = models.Classes.objects.all() 34 return render(request, 35 "edit_students.html", 36 {'stu_obj':stu_obj, 37 'cls_list':cls_list 38 } 39 ) 40 elif request.method == "POST": 41 id = request.POST.get("sid") 42 username = request.POST.get("username") 43 age = request.POST.get("age") 44 gender = request.POST.get("gender") 45 cs = request.POST.get("cs") 46 models.Student.objects.filter(id=id).update( 47 username = username, 48 age = age, 49 gender = gender, 50 cs_id = cs 51 ) 52 return redirect("/students.html/")
1 from django.shortcuts import render,redirect,HttpResponse 2 from APP01 import models 3 4 def get_teachers(request): 5 tea_list = models.Teachers.objects.all() 6 return render(request,"get_teachers.html",{'tea_list':tea_list}) 7 8 def add_teachers(request): 9 if request.method == "GET": 10 return render(request,"add_teachers.html") 11 elif request.method == "POST": 12 name = request.POST.get('name') 13 models.Teachers.objects.create(name=name) 14 return redirect("/teachers.html/") 15 16 def del_teachers(request): 17 nid = request.GET.get("nid") 18 models.Teachers.objects.filter(id=nid).delete() 19 return redirect("/teachers.html/") 20 21 def edit_teachers(request): 22 if request.method == "GET": 23 nid = request.GET.get("nid") 24 obj = models.Teachers.objects.filter(id=nid).first() 25 return render(request,"edit_teachers.html",{"obj":obj}) 26 elif request.method == "POST": 27 id = request.POST.get("tid") 28 name = request.POST.get("tname") 29 models.Teachers.objects.filter(id=id).update(name=name) 30 return redirect("/teachers.html/") 31 32 def set_classes(request): 33 if request.method == "GET": 34 nid = request.GET.get('nid') 35 tea_obj = models.Teachers.objects.filter(id=nid).first() 36 tea_class = tea_obj.classes_set.all() 37 all_class = models.Classes.objects.all() 38 return render(request, 39 "set_classes.html", 40 {"tea_class":tea_class, 41 "all_class":all_class, 42 "nid":nid 43 } 44 ) 45 elif request.method == "POST": 46 nid = request.GET.get("nid") 47 cls_list = request.POST.getlist("ct") 48 tea_obj = models.Teachers.objects.filter(id=nid).first() 49 tea_obj.classes_set.set(cls_list) 50 return redirect("/teachers.html/")
HTML文件
① 班级
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <form action="/add_classes.html/" method="post"> 9 <p><input type="text" name="name"></p> 10 <input type="submit" value="提交"> 11 </form> 12 </body> 13 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <form action="/edit_classes.html/" method="post"> 9 <p><input type="text" name="cid" value="{{ obj.id }}" style="display: none"></p> 10 <p><input type="text" name="cname" value="{{ obj.name }}"></p> 11 <input type="submit" value="提交"> 12 </form> 13 </body> 14 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <div> 9 <a href="/add_classes.html/">添加</a> 10 </div> 11 <div> 12 <table border="1px"> 13 <thead> 14 <tr> 15 <th>ID</th> 16 <th>名称</th> 17 <th>任课老师</th> 18 <th>操作</th> 19 </tr> 20 </thead> 21 <tbody> 22 {% for row in cls_list %} 23 <tr nid="{{ row.id }}"> 24 <td>{{ row.id }}</td> 25 <td>{{ row.name }}</td> 26 <td> 27 {% for item in row.m.all %} 28 <spn>{{ item.name }}</spn> 29 {% endfor %} 30 </td> 31 <td> 32 <a href="/del_classes.html?nid={{ row.id }}">删除</a> 33 | 34 <a href="/edit_classes.html?nid={{ row.id }}">编辑</a> 35 | 36 <a href="/set_teachers.html?nid={{ row.id }}">分配老师</a> 37 </td> 38 </tr> 39 {% endfor %} 40 </tbody> 41 </table> 42 </div> 43 </body> 44 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <form action="/set_teachers.html?nid={{ nid }}" method="post"> 9 <select name="ts" multiple size="10"> 10 {% for row in all_teacher %} 11 {% if row in cls_teacher %} 12 <option value="{{ row.id }}" selected>{{ row.name }}</option> 13 {% else %} 14 <option value="{{ row.id }}">{{ row.name }}</option> 15 {% endif %} 16 {% endfor %} 17 </select> 18 <input type="submit" value="提交"> 19 </form> 20 </body> 21 </html>
② 老师
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <form action="/add_teachers.html/" method="post"> 9 <p><input type="text" name="name"></p> 10 <input type="submit" value="提交"> 11 </form> 12 </body> 13 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <form action="/edit_teachers.html/" method="post"> 9 <p><input type="text" name="tid" value="{{ obj.id }}" style="display: none"></p> 10 <p><input type="text" name="tname" value="{{ obj.name }}"></p> 11 <input type="submit" value="提交"> 12 </form> 13 </body> 14 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <div> 9 <a href="/add_teachers.html/">添加</a> 10 </div> 11 <div> 12 <table border="1px"> 13 <thead> 14 <tr> 15 <th>ID</th> 16 <th>姓名</th> 17 <th>任课班级</th> 18 <th>操作</th> 19 </tr> 20 </thead> 21 <tbody> 22 {% for row in tea_list %} 23 <tr nid="{{ row.id }}"> 24 <td>{{ row.id }}</td> 25 <td>{{ row.name }}</td> 26 <td> 27 {% for item in row.classes_set.all %} 28 <spn>{{ item.name }}</spn> 29 {% endfor %} 30 </td> 31 <td> 32 <a href="/del_teachers.html?nid={{ row.id }}">删除</a> 33 | 34 <a href="/edit_teachers.html?nid={{ row.id }}">编辑</a> 35 | 36 <a href="/set_classes.html?nid={{ row.id }}">分配班级</a> 37 </td> 38 </tr> 39 {% endfor %} 40 </tbody> 41 </table> 42 </div> 43 </body> 44 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <form action="/set_classes.html?nid={{ nid }}" method="post"> 9 <select name="ct" multiple size="10"> 10 {% for row in all_class %} 11 {% if row in tea_class %} 12 <option value="{{ row.id }}" selected>{{ row.name }}</option> 13 {% else %} 14 <option value="{{ row.id }}">{{ row.name }}</option> 15 {% endif %} 16 {% endfor %} 17 </select> 18 <input type="submit" value="提交"> 19 </form> 20 </body> 21 </html>
③ 学生
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <h3>添加用户</h3> 9 <form action="/add_students.html/" method="post"> 10 <p><input type="text" name="username" placeholder="用户名"></p> 11 <p><input type="text" name="age" placeholder="年龄"></p> 12 <p> 13 男:<input type="radio" name="gender" value="1"> 14 女:<input type="radio" name="gender" value="0"> 15 </p> 16 <p> 17 <select name="cs"> 18 {% for row in cls_list %} 19 <option value="{{ row.id }}">{{ row.name }}</option> 20 {% endfor %} 21 </select> 22 </p> 23 <input type="submit" value="提交"> 24 </form> 25 </body> 26 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <h3>添加用户</h3> 9 <form action="/add_students.html/" method="post"> 10 <p><input type="text" name="sid" value="{{ stu_obj.id }}" style="display: none"></p> 11 <p><input type="text" name="username" value="{{ stu_obj.username }}"></p> 12 <p><input type="text" name="age" value="{{ stu_obj.age }}"></p> 13 <p> 14 {% if stu_obj.gender %} 15 男:<input type="radio" name="gender" value="1" checked> 16 女:<input type="radio" name="gender" value="0"> 17 {% else %} 18 男:<input type="radio" name="gender" value="1"> 19 女:<input type="radio" name="gender" value="0" checked> 20 {% endif %} 21 </p> 22 <p> 23 <select name="cs"> 24 {% for row in cls_list %} 25 {% if row.id == stu_obj.cs.id %} 26 <option value="{{ row.id }}" selected>{{ row.name }}</option> 27 {% else %} 28 <option value="{{ row.id }}">{{ row.name }}</option> 29 {% endif %} 30 {% endfor %} 31 </select> 32 </p> 33 <input type="submit" value="提交"> 34 </form> 35 </body> 36 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <div> 9 <a href="/add_students.html/">添加</a> 10 </div> 11 <div> 12 <table border="1px"> 13 <thead> 14 <tr> 15 <th>ID</th> 16 <th>姓名</th> 17 <th>年纪</th> 18 <th>性别</th> 19 <th>班级</th> 20 <th>操作</th> 21 </tr> 22 </thead> 23 <tbody> 24 {% for row in stu_list %} 25 <tr nid="{{ row.id }}"> 26 <td>{{ row.id }}</td> 27 <td>{{ row.username }}</td> 28 <td>{{ row.age }}</td> 29 <td>{{ row.gender }}</td> 30 <td>{{ row.cs.name }}</td> 31 <td> 32 <a href="/del_students.html?nid={{ row.id }}">删除</a> 33 | 34 <a href="/edit_students.html?nid={{ row.id }}">编辑</a> 35 </td> 36 </tr> 37 {% endfor %} 38 </tbody> 39 </table> 40 </div> 41 </body> 42 </html>