Django ORM框架
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django ORM框架相关的知识,希望对你有一定的参考价值。
1.介绍
ORM:object对象-类,mapping映射,relations关系,关系数据库中的表
2.模型类的设计和表的生成
在models.py设计和表对应的类,模型类,每一个类要继承model.Model
安装小数据库:
sudo apt-get install sqliteman
(1)模型类生成表
生成迁移文件
命令:python manage.py makemigrations
迁移文件是根据模型类生成的。
执行迁移文件表
命令:
python manage.py migrate
根据迁移文件生成表。
生成表名的默认格式:应用名_模型类名小写
3.通过模型类操作数据表
进入项目shell的命令
python manage.py shell
以下为在相互shell终端中演示:
(1)导入模型类
from booktest.models import BookInfo
(2)向booktest_bookinfo表中插入一条数据。
b = BookInfo() #定义一个BookInfo类的对象
b.btitle = ‘天龙八部‘ #定义b对象的属性并赋值
b.bpub_date = date(1999,2,23)
(3)表的读取和删除
(4)建立外键,一对多关系,外键是一
(5)外键关联
例如:
b2 = BookInfo.objects.get(id=2)
h.hbook = b2 #给关系属性赋值,英雄对象所属的图书对象
h.save()
(6) 查询图书表里面的所有内容
BookInfo.objects.all()
4.后台管理
(1)本地化
语言和时区的本地化
修改settings.py文件
(2)创建管理员
命令:python manage.py createsuperuser
(3)注册模型类
在应用下的admin.py中注册模型类
告诉django框架根据注册的模型类来生成对应表管理页面。
在models.py修改返回字符串调整页面显示
(4)自定义管理页面
自定义管理类,模型管理类就是告诉django在生成的管理页面上显示哪些内容
进一步调整管理页面,在admin里自定义一个模型管理类
5.视图函数的使用
(1)定义视图函数
视图函数定义在views.py中
例如:
视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象
(2)进行url配置
url配置的目的使让建立url和视图函数的对应关系,url配置项定义在urlpatterns的列表中,每一个配置项都调用url函数
url函数有两个参数,第一个参数是一个正则表达式,第二个是对应的处理动作
配置url时,有两种语法格式:
(a)url(正则表达式,视图函数名)
(b)url(正则表达式,include(应用中的urls文件))
工作中在配置url时,首先在项目的urls.py文件中添加配置项时,并不写具体的url和视图函数之间的对应关系,而是包含具体应用的urls.py文件,在应用的urls.py文件中写url和视图函数的对应关系。
例如:第一步 在项目urls.py中包含应用urls.py
第二步:在应用urls.py写url与函数的对应关系
(3)匹配过程:先在项目urls.py中匹配到哪个应用,然后再应用urls.py 中匹配显示哪个函数
当用户输入如http://127.0.0.1:8000/aindex时
去除域名和最前面的/,剩下aindex,拿aindex字符串到项目的urls文件中进行匹配,配置成功之后,去除匹配的a字符,那剩下的index字符串继续到项目的urls文件中进行正则匹配,匹配成功之后执行视图函数index,index视图函数返回内容hello python 给浏览器来显示
6.模板使用
注意:模板不仅仅是一个html文件
(1)创建模板文件夹
(2)配置模板目录
在项目settings.py的TEMPLATES
(a)使用项目目录的绝对路径:
(b)将项目目录绝对路径与新建文件夹关联
(3)使用模板文件
(a)加载模板文件
去模板目录下面获取html文件的内容,得到一个模板对象
(b)定义模板上下文
向模板文件传递数据
(c)模板渲染
得到一个标准的html内容
实际开发中不用写render函数,导入模块调用即可,如下:
(4)给模板文件传递数据
模板变量使用:{{ 模板变量 }}
模板代码段:{% 代码段 %}
以上是关于Django ORM框架的主要内容,如果未能解决你的问题,请参考以下文章
python-django框架-orm相关继续&ORM的增删改查操作_20191110