Models介绍
Django中的Models是什么?
通常,一个Models对应数据库中的一张数据表
Django中的Models以类的形式表现
它包含了一些基本字段以及数据的一些行为
ORM
对象关系映射(Object Relation Mapping)
实现了对象和数据库之间的映射
隐藏了数据访问的细节,不需要编写SQL语句
编写Models
步骤:
1.在应用根目录下创建models.py,并引入models模块(Django已经帮我们自动生成了)
2. 创建类,继承models.Model,该类即是一张数据表
3. 在类中创建字段
字段创建:字段即类里面的属性
att= models.CharField(max_length=64)
更多的字段属性参考Django官网
4.生成数据表
①.步骤:命令行中进入manage.py同级目录
②.执行Python manage.py makemigrations app名(可选) //数据迁移,不写参数名默认项目全部数据迁移
③.再执行python manage.py migrate //数据迁移
eg:
在应用项目下的models.py文件中:
class Acticle(models.Model):
title= models.CharField(max_length=64,default='title')
content= models.TextField(null = True)
然后打开命令行输入python manage.py makemigrations
然后执行Python manage.py migrate
如此便是成功了,可以看到生成了好多,很多都是Django的默认的数据迁移。
如何查看我们建的数据表呢:
①.可以在该APP下的migrations文件中(迁移文件)可以看到我们创建的数据表的信息。
②执行python manage.py sqlmigrate 应用名 文件id 查看SQL语句
③.默认sqlite3的数据库在项目根目录下的db.sqlite3
要使用第三方软件打开,SQLite Expert Personal, 轻量级,完全免费。如此便可以看到我们建的数据表
页面呈现数据
后台步骤:
1.views.py中import models
2.article = models.Article.objects.get(pk=1)
3.通过render(request,page,{‘article’:article})
前端步骤:
模板可直接使用对象以及对象的 “.” 操作
{{article.title}}
eg:
在views.py文件中:
def indexhtml(request):
article= models.Acticle.objects.get(pk=1) //返回的是主键为1的信息。
return render(request,'blog/index.html',{'article':article})
在HTML文件中:
{{article.title }}
{{article.content}}
运行结果:
数据库表:
一致,取出数据成功!