Python框架Django(MVT)—HelloWorld之M(Model),永远的神!

极简生活,极简编程,简到极致,就是完美!

Django的MVT,层层解析,M(Model),来了,以代码+注释展示。全部代码资源,在文末可点击极速下载,免费且不限速!

在这里插入图片描述

准备工作

0.0 在HelloWorld项目下,生成model模块

django-admin startapp model

0.1 MySQL5.5手动建表或者MySQL5.7自动建表

我的是mysql5.5,不要学我,使用MySQL5.7的话配置model对象之后,使用

python manage.py makemigrations model
python manage.py migrate model

下面是我的手动建表语句,mmp!
在这里插入图片描述

 CREATE TABLE `model_student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1006 DEFAULT CHARSET=utf8 

0.2 在HelloWorld项目中添加配置(settings.py)

DATABASES = {
    'default':
        {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'test',
            'HOST': 'localhost',
            'PORT': 3306,
            'USER': 'root',
            'PASSWORD': 'root',
        }
}

在这里插入图片描述

0.3 加载MySQL的配置(__init __.py)

import pymysql

pymysql.install_as_MySQLdb()

增删改查操作

1. models.py配置模型

from django.db import models


# Create your models here.

class Student(models.Model):
    name = models.CharField(max_length=20)
    age = models.IntegerField()

2. urls.py中添加url和视图(views)绑定

from django.contrib import admin
from django.urls import path
from . import views, db_views, form_view

urlpatterns = [

    path('db_query/', db_views.query),
    path('db_add/', db_views.add),
    path('db_update/', db_views.update),
    path('db_delete/', db_views.delete)
]

3. db_views.py 编写视图函数

from django.http import HttpResponse
from django.shortcuts import render
from model.models import Student


def query(request):
    stu_list = Student.objects.all()
    print(stu_list)

    return render(request, "db.html", {"stu_list": stu_list})


def add(request):
    stu1 = Student(name="小红", age=25)
    status = stu1.save()
    print(status)
    stu_list = Student.objects.all()

    return render(request, "db.html", {"stu_list": stu_list})


def update(request):
    stu = Student.objects.get(id=1005)
    stu.name = "zhangsan"
    stu.save()
    stu_list = Student.objects.all()

    return render(request, "db.html", {"stu_list": stu_list})


def delete(request):
    stu = Student.objects.get(id=1001)
    stu.delete()
    stu_list = Student.objects.all()

    return render(request, "db.html", {"stu_list": stu_list})

4. 编写template HTML页面(db.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MySQL_Student</title>
</head>
<body>
<table style="background-color: blue">

    <tr>
        <td>学号</td>
        <td>姓名</td>
        <td>年龄</td>
    </tr>

    {% for stu in stu_list %}
        <tr>
            <td>{{ stu.id }}</td>
            <td>{{ stu.name }}</td>
            <td>{{ stu.age }}</td>
        </tr>
    {% endfor %}
</table>
</body>
</html>

5.测试结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


代码资源在:HelloWorld.zip。下期是MVT的View的表单部分,相对内容比较少了。View结束的话,MVT就告一段落了!下期见,Byebye!
在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道-闇影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值