应用下的模板,=,模板介绍,ORM框架介绍,ORM到数据库的同步

应用下的模板

在应用目录下创建templates目录
在主路由的项目下中的settings将TEMPLATE项中的APP_DIRS变量改为True即可
默认就为True
但是访问的顺序是要控制的

框架先去访问外层项目中的templates,如果在其中找不到对应同名的模板,就去内层应用的templates中去寻找,在内层寻找的顺序是根据settings中的INSTALLED_APP中创建应用的先后顺序来的,如果两个应用中含有同名的模板,则会返回第一个创建的应用中的模板

在这里插入图片描述

例如,如果在music,sport,learn中的模板文件夹中创建了三个相同文件名称的html文件,则会优先返回music中的哪一个模板
如果想改变这种匹配机制,可以在应用中的templates文件夹中创建一个子文件夹,将对应的模板放到其中,在对应的函数中引用响应的相对地址就可以了


模型层及ORM介绍
要将django连接一个数据库。
首先要安装一个与django有接口python包,
每一个数据库和django有不同的应用包。
这里我们使用mysql数据库,其中有个包叫做mysqlclient,window直接在pycharm中pip就可以了。
然后进人myql创建一个数据库

在这里插入图片描述
注意要加上default charset utf8,因为后期要放入汉字进去
然后要到对应的django项目中的settings文件中更爱对应的数据库变量

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

默认为上面的字段,
将其进行改变

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',# 要将sqlite3改为mysql
        'NAME': 'Day_02', # 数据库的名称
        'USER': 'root', # 管理员的名称
        'PASSWORD': 'root',# 管理员密码
        'HOST': '127.0.0.1',# 主机地址
        'PORT': '3306'# 端口号,一般为默认值
    }
}


什么是模型

模型是一个Python的类,由django.db.models.Model派生出来的一个子类

一个模型类代表一个数据库的一张表
模型类中的每一个属性代表表中的字段
模型是数据的接口,是表示和数据操作的方法和方式


什么是ORM

ORM是对象关系的映射,它是一种程序技术,他允许你使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库


作用

建立模型类和表之间的对应关系,允许我通过面向对象的方式来操作数据库
根据设计的模型来生成数据库中的表格
通过简单的配置就可以进行数据库的切换

ORM框架和数据库之间的映射关系

在这里插入图片描述
模型实例
创建一个bookstore_book数据表来存储图书馆中的图书信息
1.添加一个bookstore的应用
2.添加模型并注册应用
模型的代码,写到应用下的models.py文件下

from django.db import models
# Create your models here.


class Book(models.Model):

    title = models.CharField('书名',max_length=50,default='') # 创建书名属性,最大长度为50,类型为char型,对应数据库中的一张表
    price = models.DecimalField('价格',max_digits=7,decimal_places=2,default='')# 创建价格属性,精度为7位,小数两位,类型为价格类型

想更新数据到数据库,要进行数据库的迁移
3.数据库的迁移
迁移数django同步在Python中对模型所作出的更改(添加字段,删除模型等)到数据库中的方式

  1. 生成迁移文件,执行 python manage.py makemigrations
    将应用下的models.py 文件生成一个中间文件,并保存到migrations文件夹中
    在这里插入图片描述

2.运行该文件,执行脚本程序,python manage.py migrate
执行迁移程序,将每个应用程序下的migrations目录下的中间文件同步到数据库
在这里插入图片描述

此时数据库中就含有数据表了
在这里插入图片描述
进入bookstore_book模型
在这里插入图片描述
里面就是我们在django框架中创建的表结构
模型名为app名称加上"_"和类名的小写组成

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值