Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。
Model介绍
通常一个model对应数据库中的一张数据表
Django中的Models以类的形式表示
它包含了一些基本字段和数据的一些行为
Django中以创建类的形式来创建数据表
编写代码对数据库的操作只需要对类和类的对象的操作,不需要SQL语句(ORM)
ORM
对象关系映射(Object Relation Mapping)
实现对象和数据库的映射
隐藏数据访问的细节,不需要编写SQL语句
Django将和数据库交互的语句封装起来了,实现了ORM框架,给开发带来便利
创建Models
新建类,继承自models.Model,该类即是一张数据表
创建字段:字段即类的属性(变量) 如:attr
=
models.CharField(max_length
=
30
)
打开blog/models.py文件,修改其中的代码如下:
class Article(models.Model):
title = models.CharField(max_length=32, default='title')
content = models.TextField(null=True)
命令行进入manage.py同级目录
执行 python manage.py makemigrations app名(可选)
再执行
python manage.py migrate
Django会自动在app/migrations/下生成移植文件
执行
python manage.py sqlmigrate 应用名 文件查看SQL语句(Djngo会自动生成主键id int型 不为空 自增的)
默认sqlite3的数据库在项目根目录下db.sqlite3
查看并编辑
db.sqlite3
利用firefox的sqlite manager插件 查看并入数据
页面呈现数据
后台步骤
views.py中import models
article = models.Article.objects.get(pk=1) Article是自己设定的类 pk主键为1 article是模型的实例
render(request, htmlURL, { 'article' : article })传递给前端
views.py
from django.shortcuts import render
from django.http import HttpResponse
from . import models
def index(request):
article = models.Article.objects.get(pk=1)
return render(request,'blog/index.html',{'article': article})
使用对象的“ . ”操作
index.html
{{ article.title }}
{{ article.content }}