一:模板继承
{% block 标签名%} {% endblcok %} 可以使子模板来进行继承、添加、覆盖标签中的内容。
子模板继承父模板:{% extends 父模板的位置 %}
二:Django的model(模型)
Model层用来与数据库交互。
1.安装MySQL数据库的适配器(在黑框终端中输入)
pip install -i https://pypi.douban.com/simple mysqlclient
2.在项目的配置文件settings.py配置数据库链接信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER':'root',
'PASSWORD':'124379685',
'HOST':'localhost',
'PORT':3306,
}
}
3.在settings.py 中 注册新建的app名称(在setting中的INSTALLED_APPS列表中加入'modelapp')
4.在app的models.py中创建模型类,模型类必须要继承django.db.models.Model类,在模型类的类属性对应于数据表的字段名;模型类对应于表(表名是app名称_小写模型类名)
根据模型类创建的数据表中会自动创建一个自增的主键id。
from django.db import models
class Student(models.Model):
name = models.CharField(max_length=20)
sex = models.CharField(max_length=10)
score = models.FloatField()
5.注册模型:在黑框终端输入,python manage.py makemigrations
6.根据模型类创建数据表:在黑框终端输入,python manage.py migrate
三:常用操作
1. 插入操作(通过程序向表中插入记录)
stu1 = Student(name='zxx',sex='女',score=100)
stu1.save()
2.更新操作
使用与数据表中对应的对象,调用save()方法
stu1 = score = 90
stu1.save()
3.查询操作
查询所有:
Students.objects.all()
#返回包含了所有记录的集合对象(queryset)
#返回的结果集对象可以通过for...in遍历,也可以通过索引访问某个元素
查询单条记录:
Student.objects.get(id=1)
#只能返回一条记录,如果多于一条或没有查询到则会引发异常
根据过滤条件查询
Student.objects.filter(score=60)
4. 删除操作