Django学习(4):Models

目录


原视频教程链接

django入门与实践(杜秉轩)


Models

Django Models官方文档

ORM

Models使用了对象关系映射技术(Object Relation Mapping)

ORM百度百科

中间件(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)  # 文章内容
  • 生成数据表

    1. 命令行进入manage.py同级目录
    2. 执行python manage.py makemigrations
    3. 再执行python manage.py migrate
  • 查看blog/migrations/0001_initial.py
    发现多出个id,因为我们之前没有指定主键,所以自动生成了一个默认自增主键id

  • 查看SQL语句

    1. 命令行进入manage.py同级目录
    2. 执行python manage.py sqlmigrate blog 0001
  • 使用数据库可视化工具SQLite Expert Personal

    下载地址:
    SQLite Expert Personal 4.2 x64 百度网盘下载地址

    1. 使用SQLite Expert Personal打开myblog/db.sqlite3
    2. 在blog_article表中添加一条 title为article1 content为content1的表项
  • 页面呈现数据

修改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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章