目录
原视频教程链接
Models
ORM
Models使用了对象关系映射技术(Object Relation Mapping)
中间件(Middleware)
个人认为Models也属于中间件
实例
- 创建数据表类
修改blog/models.py为:
from django.db import models # 引入models模块
# 创建文章数据类
class Article(models.Model):
title = models.CharField(max_length=32, default='Title') # 文章标题
content = models.TextField(null=True) # 文章内容
生成数据表
- 命令行进入
manage.py
同级目录 - 执行
python manage.py makemigrations
- 再执行
python manage.py migrate
- 命令行进入
查看
blog/migrations/0001_initial.py
发现多出个id
,因为我们之前没有指定主键,所以自动生成了一个默认自增主键id
查看SQL语句
- 命令行进入
manage.py
同级目录 - 执行
python manage.py sqlmigrate blog 0001
- 命令行进入
使用数据库可视化工具SQLite Expert Personal
下载地址:
SQLite Expert Personal 4.2 x64 百度网盘下载地址- 使用SQLite Expert Personal打开
myblog/db.sqlite3
- 在blog_article表中添加一条 title为article1 content为content1的表项
- 使用SQLite Expert Personal打开
页面呈现数据
修改blog/views.py为:
from django.shortcuts import render
from . import models # 引入models.py
def index(request):
article = models.Article.objects.get(pk=1) # 获取主键id为1的article
return render(request, 'blog/index.html', {'article': article})
修改templates/blog/index.html为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{ article.content }}</h1>
</body>
</html>
浏览器访问localhost:8000/blog/index
可以看到content1