本文主要是介绍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的模板的继承和模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!