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路由:
新聞熱點
疑難解答