此文是继承博主的上一篇博客:http://blog.csdn.net/yuzhengfei7/article/details/78259147
Django中的Models是什么?
通常,一个Model对应数据库的一张数据表
Django中的Models以类的形式表现
它包含了一些基本字段以及数据的一些行为
这种框架结构称为ORM
ORM(对象关系映射Object Relation Mapping):实现了对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写SQL语句。白话一点,就是Django把和数据库交互的语句封装起来了。
这种框架给我们的开发带来了极大的便利。
编写Models,步骤:
1.在应用根目录下创建models.py(Django在帮我们创建应用的时候已经帮我们创建了),并引入models模块
2.创建类,继承models.Medel,该类即是一张数据表
3.在类中创建字段,字段即类里面的属性(变量),字段的可选参数可以上Django的官方网站查看
代码如下:
from __future__ import unicode_literals
from django.db import models
from django.db.models import Model
class Article(models.Model):
title = models.CharField(max_length=32, default='Title') # max_length为约束长度,default为默认值
content = models.TextField(null=True) # null=True为允许为空
生成数据表,步骤:
1.cmd进入manage.py同级目录,执行
python manage.py makemigrations app名(可选)
如果不写这个app名的话,就是默认的为该项目下所有的应用都生成数据迁移
2.再执行
python manage.py migrate //做迁移动作
3.查看是否迁移成功:Django会自动在app/migrations/目录下生成移植文件,可以进入项目中对应的文件夹中进行查看
5.查看SQL语句:执行
python manage.py sqlmigrate app名 文件id
前几步的效果如下图:
6.查看并编辑db.sqlite3(此文件在项目目录中,进入即可看见)
使用第三方软件:SQLite Expert Personal(下载地址:http://www.sqliteexpert.com/download.html自行选择版本下载),此工具强烈推荐使用,因为它是一个轻量级而且完全免费的软件!
7.进入SQLite,找到blog_article,对表进行数据的添加
页面数据呈现,步骤:
1.进入views.py文件中,编写代码:
from sys import modules
from django.shortcuts import render # render为Django自动添加,render为渲染
from django.http import HttpResponse
from . import models # 引入models
def index(request):
article = models.Article.objects.get(pk=1) # 拿到id=1的数据
return render(request, 'index.html', {'article': article})
2.前端步骤:模板可以直接使用对象以及对象的"."操作。
进入index.html文件中,编写代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{ article.title }}</h1>
<h3>{{ article.content }}</h3>
</body>
</html>
最后:打开浏览器,地址栏输入localhost:8000/blog/index,出现如下效果 ,则证明Models已经成功实现。