首页 > 编程 > Python > 正文

python3.6+django2.0开发一套学员管理系统

2020-02-22 23:22:14
字体:
来源:转载
供稿:网友

1.在pycharm中新建project demo1 添加app01 点击create按钮完成新建

2.在demo项目目录下新建目录static,并在settings.py中追加代码:

STATICFILES_DIRS=(os.path.join(BASE_DIR, 'static'),)

3.在setting.py中添加模板路径:

TEMPLATES = [ {  'BACKEND': '...',  'DIRS': [os.path.join(BASE_DIR, 'templates'),],  'APP_DIRS': ...,  'OPTIONS': {   'context_processors': [    ...   ],  }, },]

4.学员管理系统数据库设计:

在app01/model.py目录下建立 班级、老师、学生 、老师与班级关联表 四张表:

from django.db import models# Create your models here.class Classes(models.Model): ''' 班级表 ''' title=models.CharField(max_length=32) a=models.ManyToManyField('Teachers')class Teachers(models.Model): ''' 老师表 ''' name=models.CharField(max_length=32)class Students(models.Model): username=models.CharField(max_length=32) age=models.IntegerField() gender=models.BooleanField() cs=models.ForeignKey(Classes,on_delete=models.CASCADE)

在终端Terminal 项目目录下执行数据表更新命令:

python manage.py makemigrationspython manage.py migrate

至此生成了四张数据表,可以在pycharm中,点开右上角的Database面板,然后将项目中templates目录下边的db.sqlite3鼠标拖拽到Database面板下,对新创建的数据表进行查看。

5.学员管理系统之班级管理:

为了方便分别操作班级、老师、学生相关的业务,将app01目录下的views.py 删掉,在app01目录下新建目录views,并在views目录下 新建classes.py teachers.py students.py。

1.在classes.py 中写 get_classes add_classes del_classes edit_classes四个函数,完成对 班级数据 的增删改查:

from django.shortcuts import render,redirectfrom app01 import modelsdef get_classes(request): cls_list = models.Classes.objects.all() return render(request,'get_classes.html',{'cls_list':cls_list})def add_classes(request): if request.method=='GET':  return render(request,'add_classes.html') elif request.method=='POST':  title=request.POST.get('title','')  models.Classes.objects.create(title=title)  return redirect('/classes.html')def del_classes(request): nid=request.GET.get('nid','') models.Classes.objects.filter(id=nid).delete() return redirect('/classes.html')def edit_classes(request): if request.method=="GET":  nid = request.GET.get('nid', '')  obj=models.Classes.objects.get(id=nid)  return render(request,'edit_classes.html',{'obj':obj}) elif request.method=="POST":  nid=request.POST.get('nid','')  title=request.POST.get('xxoo','')  models.Classes.objects.filter(id=nid).update(title=title)  return redirect('/classes.html')

2.在urls.py 中配置url路由:  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表