Django的models及数据库的增删改查

通过models建立数据库表

在项目中的models.py新建一个类

class Student(models.Model):
    s_name = models.CharField(max_length=10)
    s_age = models.IntegerField(default=1)

在terminal终端中运行, python manage.py makemigrations, 创建迁移文件夹
python manage.py migrate
数据库中就有了student数据表

往数据表中添加数据记录 add

在urls.py中 加一个 re_path
然后在views.py中加入add_student函数

def add_student(request):
    student = Student()
    student.s_name = 'mei%d' % random.randrange(100)
    # age字段因为设置了默认值1 ,所以不用添加
    student.save()  # 此处一定要带上()
    return HttpResponse("添加到数据库成功%s" % student.s_name)

注意 继承类 有括号 **** save也要有括号
获取记录get

def get_students(request):
    students = Student.objects.all()
    #for student in students:
    #    print(student.s_name)
    context = {
        "gap1": "这是填第一个位置",
        "gap2": "这是第二个",
        "students":students,
    }
    return render(request, 'studentlist.html', context=context)

注意html中的交互写法

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学生列表</title>
</head>
<body>
<h1>{{ gap1 }}</h1>
<h2>{{ gap2 }}</h2>
<h1>学生列表如下:</h1>
<ul>
    {% for student in students %}
        <li>{{ student.s_name }}</li>
        <li>{{ student.s_age }}</li>

    {% endfor %}

</ul>
</body>
</html>

修改数据表中的记录 update

def update_student(request):
    student=Student.objects.get(pk=5)   #此处的pk是premary key的主键意思
    student.s_name='改名了'
    student.save()
    return HttpResponse("修改学生姓名成功!改成了%s" % student.s_name)

修改数据表中的记录delete

def delete_student(request):
    student=Student.objects.get(pk=4)
    student.delete()
    return HttpResponse("%s删除成功" % student.s_name)
上一篇:python使用Django框架开发简单项目


下一篇:PyTorch学习Lesson2