Django的学习(三)————models

models采用的的是类的方式,一个类对应一张表,在django中只需要对类的操作就可以完成数据表的操作,这种方式可以省去写sql语句,完成了sql语句的封装,被叫做

ORM(object relation mapping)对象关系映射。

一、字段创建的规则:

字段名等于model类中的属性(变量)。

1 from django.db import models
2 
3 # Create your models here.
4 
5 
6 class Article(models.Model):
7     # max_length is must param to limit the length
8     title = models.CharField(max_length=32, default='Title')
9     content = models.TextField(null=True)

二、生成数据表:

执行两个命令:

第一个:python manage.py makemigrations 【App】,默认执行所有的App

第二个:python manage.py migrate

这些是所有的数据migrate(迁移)

三、查看:

首先在文件目录下可以查看到多了一个文件夹migrations的移植文件夹,查看里面的内容可以看到,我们创建的字段,由于数据库是需要主键的所以我们在创建的时候不设置主键,系统会自动给我们生成一个主键。

再通过命令行:python manage.py sqlmigrate 【App】 【filename】

可视化工具的安装:https://blog.csdn.net/geekqian/article/details/78229222

四、页面数据呈现:

1.后台步骤

views.py中import models

article = models.Article.objects.get(pk=1)

render(request, page, {'key': 'item'})

其中pk就相当于sql语句中id为1的数据

render第三个参数可以传递对象给网页

 1 from django.shortcuts import render
 2 from django.http import HttpResponse
 3 
 4 # Create your views here.
 5 
 6 from . import models
 7 
 8 
 9 def index(request):
10     article = models.Article.objects.get(pk=1)
11     return render(request, 'blog/index.html', {"article": article})

2.前端操作

使用对象的操作运算符“.”,来完成前端的代码。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <h1>{{ article.title }}</h1>
 9 <h3>{{ article.content }}</h3>>
10 </body>
11 </html>

五、注意:

对models操作完成后一定要migrate。

原文地址:https://www.cnblogs.com/future-dream/p/10380938.html