Django | 五、项目的模型

一、连接MySQL数据库设置

  默认情况下,配置使用SQLite。若不使用SQLite作为数据库,则需要额外的设置,例如 USER,PASSWORD和HOST必须加入。
  其中ENGINE设置为数据库后端使用。内置数据库后端有:

‘django.db.backends.postgresql’
‘django.db.backends.mysql’
‘django.db.backends.sqlite3’
‘django.db.backends.oracle’

  在manageproject/settings.py文件中,通过DATABASES项进行数据库设置(我们之前在启动项目的时候进行过简略的讲解)。

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

【注意】:Django使用MySQL数据库需要加载 MySQLdb模块,需要安装 mysqlclient,若已经安装请略过。 (Django2.2版本之前我们安装的是pymysql模块,不过现在使用的mysqlclient ),此处若不能自动安装,请采用源码安装。

$ pip3 install  mysqlclient
#自动安装
* 访问网址,下载一个对应的安装包到当前系统目录: https://www.lfd.uci.edu/~gohlke/pythonlibs/  #mysqlclient
pip install mysqlclient‑1.4.6‑cp38‑cp38‑win32.whl

在这里插入图片描述

二、创建模型

  在我们的简单的应用程序中,去创建一个stu表信息操作的Model类。
编辑 myapp/models.py文件

from django.db import models

# Create your models here.

class Stu(models.Model):
    '''自定义Stu表对应的Model类'''
    #定义属性:默认主键自增id字段可不写
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=16)
    age = models.SmallIntegerField()
    sex = models.CharField(max_length=1)
    classid=models.CharField(max_length=8)

    # 定义默认输出格式
    def __str__(self):
        return "%d:%s:%d:%s:%s"%(self.id,self.name,self.age,self.sex,self.classid)

    # 自定义对应的表名,默认表名:myapp_stu
    class Meta:
        db_table="stu"

三、激活模型

  要将该应用程序包括在我们的项目中,我们需要在设置中添加对其配置类的引用INSTALLED_APPS,该 MyappConfig一般是在myapp/apps.py文件中。
  我们要做的就是编辑manageproject/settings.py文件,并将该虚线路径添加到该INSTALLED_APPS设置。
在这里插入图片描述

四、使用

1.进入交互式的Python shell,并使用Django提供的免费API。

在这里插入图片描述

2.在myapp应用的视图中使用

  • 编辑视图myapp/views.py
from django.shortcuts import render
from django.http  import HttpResponse
from myapp.models import Stu
# Create your views here.

def index(request):
    return HttpResponse("Hello Django!")

def stu(request):
    #获取所有stu表信息
    lists = Stu.objects.all()
    print(lists)
    #获取单条学生信息
    print(Stu.objects.get(id=1))

    return HttpResponse("ok")
  • 配置stu函数的访问路由在myapp/urls.py文件中配置
 path('stu/', views.stu),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值