栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Day06

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day06

1.创建django项目命令:django-admin startproject 项目名

2.创建子应用:python manage.py startapp

3.运行django项目:python manage.py runserver

4.创建超级用户:python manage.py createsuperuser

5.生成迁移文件:python manage.py makemigrations

6.执行前移: python manage.py migrate

7.运行shell工具: python manage.py shell

models模板层
from django.db import models

# Create your models here.
# 老师模型类
class Teacher(models.Model):
    tea_name = models.CharField(max_length=20,verbose_name='老师姓名')
    course = models.CharField(max_length=20,verbose_name='课程')

    class Meta:
        verbose_name = '老师表'
        verbose_name_plural = verbose_name
        db_table = 'teacher'

    def __str__(self):
        return self.tea_name


# 学生模型类
class Student(models.Model):
    stu_name = models.CharField(max_length=20, verbose_name='学生姓名')
    height = models.DecimalField(max_digits=5,decimal_places=2,verbose_name='身高')
    face = models.IntegerField(default=60,verbose_name='颜值')
    teacher = models.ForeignKey(to=Teacher,on_delete=models.CASCADE,verbose_name='老师')

    class Meta:
        verbose_name = '学生表'
        verbose_name_plural = verbose_name    # admin页面中表的名字(复数)
        db_table = 'student'                # 在数据库中表的名字

    def __str__(self):        # 直接输出对象是,输出对象的名字
        return self.stu_name
admin注册
from django.contrib import admin
from students.models import Teacher,Student
# Register your models here.
admin.site.register(Teacher)
admin.site.register(Student)

Views视图层代码
from django.shortcuts import render,redirect
from django.views import View
from students.models import Teacher,Student
from django.http import HttpResponse
# Create your views here.

# 展示所有的老师信息
class TeacherView(View):
    def get(self,request):
        teachers = Teacher.objects.all()
        return render(request,'teachers.html',{'teachers':teachers})

class StudentView(View):
    def get(self,request,id):
        # id:老师的编号
        # 根据id老师编号获取对应的学生信息
        students = Student.objects.filter(teacher_id=id)
        return render(request,'students.html',{'students':students})

# 根据id 删除学生信息
class DelStudentView(View):
    def get(self,request,id):
        # # 1.删除数据,重定向到老师页面
        # Student.objects.filter(id=id).delete()
        # return redirect('/tea/')

        # 2..删除数据,重定向到学生页面
        student_data = Student.objects.get(id=id)
        # 获取老师id.用于重定向
        tea_id = student_data.teacher_id
        student_data.delete()
        return redirect(f'/stu/{tea_id}/')

# 修改学生信息
class UpdateStudentView(View):
    # 获取页面
    def get(self,request,id):
        try:
            student_data = Student.objects.get(id=id)
        except Exception as e:
            print(e)
            return HttpResponse('要修改的数据不存在')
        return render(request,'index.html',{'student':student_data})
    # 根据id修改学生信息
    def post(self,request,id):
        name = request.POST.get('name')
        height = request.POST.get('height')
        face = request.POST.get('face')
        teacher = request.POST.get('teacher')
        try:
            Student.objects.filter(id=id).update(
                stu_name=name,
                height=height,
                face=face,
                teacher=teacher,
            )
        except  Exception as e:
            print(e)
            return HttpResponse('修改数据失败')
        return redirect('/tea/')


配置路由
from django.urls import path
from students import views
urlpatterns = [
    path('tea/',views.TeacherView.as_view()),
    path('stu//',views.StudentView.as_view()),
    path('delstu//',views.DelStudentView.as_view()),
    path('updatestu//',views.UpdateStudentView.as_view()),
]
教师页面
    

老师页面

{% for teacher in teachers %} {% endfor %}
编号 老师姓名 所授课程
{{ teacher.id }} { teacher.id }}">{{ teacher.tea_name }} {{ teacher.course }}
 学生页面
    学生页面
    
        {% for student in students %}
            
        {% endfor %}

    
编号 学生姓名 身高 颜值 授课老师 操作
{{ student.id }} {{ student.stu_name }} {{ student.height }} {{ student.face }} {{ student.teacher }} { student.id }}/">删除 { student.id }}/">修改
修改学生信息页面
    

修改学生信息

{% csrf_token %} 姓名: 身高: 颜值: 老师编号:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840126.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号