003:模板加载和数据库定义

模板:
1、打开所有的页面,查找共同之处
2、保留一致的部分,生成模板页(base.html)
{% block name %}{% endblock %} 块标签
一致的保留,不一致(需要修改的)生成块
块当中保留的内容是默认内容,可以使用,可以覆盖
3、使用模板页
首先声明继承那个模板 {% extends “base.html”%}
填充需要修改的块内容
{% include %} 模板加载
将指定的页面加载到当前页面指定部分,一般用于数据管理的平台型网站

2-3 Django数据库定义
本章知识点

  1. 网站开发建模
  2. Django模型处理
  3. Django自带模块 admin
  4. Admin管理和样式渲染
    知识点讲解
  5. 网站开发建模
    昨天的课程当中,已经学习了Django基本的请求,基于MVC来说,学习了V和C部分, 紧 接着要学习的就是Django的模型部分。首先要搞明白的是数据建模。
    所谓的数据建模就是利用数据库语句来描述我们的业务逻辑。描述将会被分为两个部分:
    1、业务实体的描述
    2、业务关系的描述
    举个例子:
    我们现在要对班级的同学和老师进行数据建模
    首先,我们会考虑的是老师和同学这两个主题,所以,我们会搭建出以下的表:
    Teacher
    Name
    Age
    Project
    Student
    Name
    Age
    Project
    Result
    这两章表虽然将所有内容都包含进去了,但是没有强调到老师和学生的关系,那么接下来就需 要在student表添加一个叫做teacher_id的字段,来关联学生,效果如下:
    Teacher
    Name
    Age
    Project
    Student
    Name
    Age
    Project
    Result
    Teacher_id
    所以我们最后得到的就是这样的一个效果了,我们通过这个表可以描述简单的师生情况与关 系,在这里必须强调,好的建模是成功的一半
    接着来了解一下Python数据库部分的一个高级的知识点,ORM
    ORM被称为数据库映射关系,回忆之前写过的一段代码。
    import pymysql

db = pymysql.connect(
user = “root”,
password = “123”,
db = “students”,
port = “3306”
)

cursor = db.cursor()

sql = “select * from cursor”

cursor.execute(sql)

all_data = cursor.fetchall()

print(all_data)
cursor.close()
db.close()
上面的代码当中,Python可以通过pymysql模块访问到mysql数据库,并且获取数据,大概思路如下:
在这里插入图片描述
这样可以很直观的看到数据库存取数据的效果,但从另外的一个角度来看也是有问题的。比如:
1、开发必须要懂MySQL
2、如果要切换数据库就必须修改所有的数据库语句
所以,有了Python ORM数据库映射的需求,然后有了功能
在这里插入图片描述
也就是说,在操作数据库的时候,开发人员不直接接触数据库语句,而是选择用Python描述数据库,然后将描述传递给ORM,ORM将描述翻译为sql语句传递给MySQL进行执行。这样一来上面的问题迎刃而解。而Django就是采用ORM映射来处理数据库。
2. Django模型处理
Django本身是鼓励开发者进行相对独立的项目开发的,所以,Django的设计理念当中有一个关 键的元素,叫做app,所谓的app就是项目当中具体的功能。比如:
我们开发一个商场的项目
可以将整个网站划分为
商品
用户
商家
三个独立的功能进行开发,这样可以让我们的思路更加清晰,同时,也方便我们的功能块儿的 迁移。那么接下来开始学习Django 模型部分的知识,Django模型的使用通常按照以下的思路学 习。

1、创建app
切入服务器目录
在这里插入图片描述
执行app创建命令
命令: python manage.py startapp shopping
在这里插入图片描述
2、定义数据库模型
首先看一段常用的代码
from django.db import models

class Shopping(models.Model): #模型类名
name = models.CharField(verbose_name = “商品名称”)
price = models.FloatField(verbose_name = “商品价格”)
shops = models.CharField(verbose_name = “商铺”)
picture = models.ImageField(verbose_name = “商品图片”)

def __str__(self):
    return self.name

字段类型
IntegerField(Field) 整数
CharField(Field) 字符串
EmailField(CharField) 邮件
IPAddressField(Field) ipv4协议
FileField(Field) 文件
ImageField(FileField) 图片
DateTimeField(DateField) 时间 年月日 时分秒
DateField(DateTimeCheckMixin, Field) 年月日
TimeField(DateTimeCheckMixin, Field) 时分秒

1、启动虚拟环境在这里插入图片描述
2、创建项目
在这里插入图片描述在这里插入图片描述
3、创建APP
切入项目目录,在manage.py的目录下,执行创建命令

在这里插入图片描述
然后完成了项目的基本创建
添加static和template目录
4、数据建模

在这里插入图片描述
5、进行配置
安装app

在这里插入图片描述
配置HTML文件路径
在这里插入图片描述
配置数据库
默认Django采用sqllite3数据库

在这里插入图片描述
通常会使用mysql
在这里插入图片描述
在这里插入图片描述
6、同步数据库
1、校验
Python manage.py check

在这里插入图片描述
注意:python3采用的是pyMySQL(py3)数据库api,但是Django默认的是MySQLdb(py2)模块,所以需要做以下修改
在这里插入图片描述
2、生成数据库
python manage.py makemigrations

在这里插入图片描述
3、进行数据库同步
在这里插入图片描述
在这里插入图片描述
Django 2版本之前默认创建后台超级用户,2.0之后,我们需要借助命令
在这里插入图片描述
Django模型处理
Django自带模块 admin
Admin管理和样式渲染

猜你喜欢

转载自blog.csdn.net/weixin_43582101/article/details/85727061