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

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