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}} 删除 | 编辑 添加