Skr-Eric的Django课堂(三)——Django的模板的继承和模型

2023-11-09 04:51

本文主要是介绍Skr-Eric的Django课堂(三)——Django的模板的继承和模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模板

1.模板的继承

1.语法

1.在父模板中

必须标识出来哪些内容在子模板中允许被修改

标签:

{% block 块名 %}

.... ....

{% endblock %}

block 的作用:

1.在父模板中没有任何影响,正常显示

2.在子模板中,允许被修改,但如果不做任何修改的话,则会按照父模板的内容进行显示

2.在子模板中

1.指定继承自哪个父模板

{% extends '父模板名称' %}

2.通过 block 标签,改写属于自己的内容

{% block 块名 %}

{% endblock %}

 

2.url()的name参数 - 反向解析

1.url的语法

url(regex,views,kwargs,name)

name:为地址起别名,反向解析时使用

2.反向解析

在模板上做反向解析

1.基本解析

{% url '别名' %}

2.带参的解析

{% url '别名' '参数1' '参数2'%}

在视图上做反向解析

1.基本解析

url = reverse('别名')

url 就是通过别名解析出来的地址

2.带参数的解析

url = reverse('别名',args=(参数1,参数2))

 

模型 - Models

1.什么是模型

根据数据表结构而创建出来的class

 

2.ORM

对象关系映射(Object Relational Mapping)

三大特征:

1.表 到 类的映射

2.数据类型的映射

3.关系映射

 

3.创建 和 配置数据库

1.创建数据库-webdb

create database webdb default charset utf8 collate utf8_general_ci;

2.Django的数据库配置

在 settings.py 中配置数据库的信息

DATABASES = {

'default':{

'ENGINE':'django.db.backends.sqlite3',

'NAME':os.path.join(BASE_DIR,db.sqlite3),

}

}

1.ENGINE:指定要连接的数据库的驱动程序

连接mysql的话可以取值为

'django.db.backends.mysql'

2.NAME:指定要连接到的数据库的名称

连接mysql的话可以取值为

数据库名

3.USER:指定登录到数据库管理系统的用户名

连接到mysql的话 可以为 root

4.PASSWORD:指定登录到数据库管理系统的密码

5.HOST:指定要连接到的主机地址

如果是本机的话:127.0.0.1 或 localhost

6.PORT:指定端口号

mysql的默认为 3306

3.数据库的同步操作

1. ./manage.py makemigrations

作用:将每个应用下的models.py文件生成一个数据库的中间文件,并将中间文件保存到migrations的目录中

2. ./manage.py migrate

作用:将每个应用下的migrations目录中的中间文件同步到数据库中

4.编写Models

1.举个例子

2.Models的语法规范

class ClassName(models.Model):

属性=models.FIELDTYPE(FIELD_OPTIONS)

FIELDTYPE : 字段类型

CharField()

FIELD_OPTIONS : 字段选项(字段说明)

max_length=30

字段类型 :FIELDTYPE

1.BooleanField()

编程语言中使用True 或 False 来表示该列的值

数据库中使用 1 或 0 来表示具体的值

数据类型为:tinyint

2.CharField()

编程语言中使用字符串来表示该列的值

数据库中也是字符串

数据类型为:varchar

注意:必须要指定max_length参数值

3.DateField()

编程语言中使用字符串或Date类型的数据表示该值

数据库中使用的是时间字符串

数据类型为:date

4.DateTimeField()

数据类型为:datetime

5.DecimalField()

编程语言中使用数字(小数)来表示该列的值

数据库使用小数表示

数据类型:decimal

money=models.DecimalField(max_digits=7,decimal_places=2)

6.FloatField()

编程语言中使用数字(小数)来表示该列的值

数据库使用小数

数据类型:float

7.IntegerField()

数据类型:int

8.EmailField()

编程语言中使用字符串来表示一段Email地址

数据库中使用 字符串表示

数据类型:varchar

9.URLField()

编程语言中使用字符串来表示一段网址

数据库中使用 字符串表示

数据类型:varchar

10.ImageFiled()

目的:存储图片路径

数据类型:varchar

image=models.ImageField(upload_to='images/')

 

字段选项 :FIELD_OPTIONS

1.default

作用:为当前字段指定默认值

2.null

作用:指定当前字段是否允许为空,默认为False,不能为空

3.db_index

作用:指定是否为当前字段指定索引

4.db_column

作用:指定当前属性映射到表中的类名,如果不指定则采用属性名称作为类名

 

 

 

想要看更多的课程请微信关注SkrEric的编程课堂

这篇关于Skr-Eric的Django课堂(三)——Django的模板的继承和模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/374048

相关文章

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

C++11委托构造函数和继承构造函数的实现

《C++11委托构造函数和继承构造函数的实现》C++引入了委托构造函数和继承构造函数这两个重要的特性,本文主要介绍了C++11委托构造函数和继承构造函数的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、委托构造函数1.1 委托构造函数的定义与作用1.2 委托构造函数的语法1.3 委托构造函

Java 继承和多态的作用及好处

《Java继承和多态的作用及好处》文章讲解Java继承与多态的概念、语法及应用,继承通过extends复用父类成员,减少冗余;多态实现方法重写与向上转型,提升灵活性与代码复用性,动态绑定降低圈复杂度... 目录1. 继承1.1 什么是继承1.2 继承的作用和好处1.3 继承的语法1.4 子类访问父类里面的成

Java继承映射的三种使用方法示例

《Java继承映射的三种使用方法示例》继承在Java中扮演着重要的角色,它允许我们创建一个类(子类),该类继承另一个类(父类)的所有属性和方法,:本文主要介绍Java继承映射的三种使用方法示例,需... 目录前言一、单表继承(Single Table Inheritance)1-1、原理1-2、使用方法1-

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

C#继承之里氏替换原则分析

《C#继承之里氏替换原则分析》:本文主要介绍C#继承之里氏替换原则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#里氏替换原则一.概念二.语法表现三.类型检查与转换总结C#里氏替换原则一.概念里氏替换原则是面向对象设计的基本原则之一:核心思想:所有引py