python3.6+django2.0开发一套学员管理系统
1.在pycharm中新建projectdemo1添加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目录下建立班级、老师、学生、老师与班级关联表四张表:
fromdjango.dbimportmodels #Createyourmodelshere. classClasses(models.Model): ''' 班级表 ''' title=models.CharField(max_length=32) a=models.ManyToManyField('Teachers') classTeachers(models.Model): ''' 老师表 ''' name=models.CharField(max_length=32) classStudents(models.Model): username=models.CharField(max_length=32) age=models.IntegerField() gender=models.BooleanField() cs=models.ForeignKey(Classes,on_delete=models.CASCADE)
在终端Terminal项目目录下执行数据表更新命令:
pythonmanage.pymakemigrations pythonmanage.pymigrate
至此生成了四张数据表,可以在pycharm中,点开右上角的Database面板,然后将项目中templates目录下边的db.sqlite3鼠标拖拽到Database面板下,对新创建的数据表进行查看。
5.学员管理系统之班级管理:
为了方便分别操作班级、老师、学生相关的业务,将app01目录下的views.py删掉,在app01目录下新建目录views,并在views目录下新建classes.pyteachers.pystudents.py。
1.在classes.py中写get_classesadd_classesdel_classesedit_classes四个函数,完成对班级数据的增删改查:
fromdjango.shortcutsimportrender,redirect fromapp01importmodels defget_classes(request): cls_list=models.Classes.objects.all() returnrender(request,'get_classes.html',{'cls_list':cls_list}) defadd_classes(request): ifrequest.method=='GET': returnrender(request,'add_classes.html') elifrequest.method=='POST': title=request.POST.get('title','') models.Classes.objects.create(title=title) returnredirect('/classes.html') defdel_classes(request): nid=request.GET.get('nid','') models.Classes.objects.filter(id=nid).delete() returnredirect('/classes.html') defedit_classes(request): ifrequest.method=="GET": nid=request.GET.get('nid','') obj=models.Classes.objects.get(id=nid) returnrender(request,'edit_classes.html',{'obj':obj}) elifrequest.method=="POST": nid=request.POST.get('nid','') title=request.POST.get('xxoo','') models.Classes.objects.filter(id=nid).update(title=title) returnredirect('/classes.html')
2.在urls.py中配置url路由:
fromdjango.contribimportadmin fromdjango.urlsimportpath fromapp01.viewsimportclasses,students,teachers urlpatterns=[ path('admin/',admin.site.urls), path('classes.html',classes.get_classes), path('add_classes.html',classes.add_classes), path('del_classes.html',classes.del_classes), path('edit_classes.html',classes.edit_classes), #path('teachers.html',teachers.get_teachers), #path('students.html',students.get_studernts), ]
3.在template目录下建立所需的html页面文件:
get_classes.html
DOCTYPEhtml>Title
{%forrowincls_list%} ID 名称 操作 {%endfor%} {{row.id}} {{row.title}} 删除 | 编辑 添加