一.Django中的models是什么?
通常,一个model对应数据库的一张数据表。
django中的models以类的形式表现。在这个类里有一些基本的字段以及数据的一些行为。
ORM-对象关系映射(Object Relation Mapping)
实现了对象和数据库之间的映射,隐藏了数据访问细节,不需要编写SQL语句。
二.编写Models
步骤
1.在应用根目录下创建modes.py,并映入models模块。这个在创建app时候就已经自动实现了,无需操作。
from django.db import models
2.创建类,继承models.Model,该类即是一张数据表。
3.在类中创建字段。字段即类里面的属性(变量)
from django.db import models # Create your models here. class Article(models.Model): title = models.CharField(max_length = 32, default = 'Title') content = models.TextField(null = True)三.生成数据表
命令行中进入manage.py同级目录
执行python manage.py makemigrations app名(可选,如果不写就是把该项目下所有的app都生成数据迁移)
再执行python manage.py migrate(上面的是迁移的准备,这个才是迁移的动作)
查看数据迁移
django会自动在app/migrations/目录下生成移植文件。
执行python manage.py sqlmigrate 应用名 文件id 查看sql语句
四.页面呈现数据
后台步骤
views.py中import models
article = models.Article.objects.get(pk=1)
render(request,page,{'article' : article})
views.py中
from django.shortcuts import render from django.http import HttpResponse from . import models # Create your views here. def index(request): #注意,这里因为要处理请求,所以这里要先接收到请求。 article = models.Article.objects.get(pk=1) return render(request,'blog/blogindex.html',{'name':article})html页面中
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{name.title}}</h1>
<h3>{{name.content}}</h3>
</body>
</html>