1. 程式人生 > >Django學習案例一(blog):四.Models

Django學習案例一(blog):四.Models

gin 語句 請求 nal 分享 django base 之間 def

(1)什麽是models

Django中以創建類的形式來創建數據表。

在編寫代碼的過程中,所有對數據庫的操作,都是對類和類的對象進行操作。

ORM對象關系映射(Object relation mapping)實現了對象和數據庫之間的映射,隱藏了數據訪問的細節,不需要編寫SQL語句,為開發提供了便利。

(2)blog/models內容修改:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=50,default=Title) #標題
    content = models.TextField(null=True)  #
內容

(3)生成數據庫數據表,執行兩條語句

遷移準備:Python manage.py makemigrations blog #app名blog是可選的,如果不寫則對項目中所有app進行數據遷移。

執行遷移:Python manage.py migrate

數據庫就生成在項目根目錄下,名為db.sqlite3,用sqlite expert personal可以看到數據庫中已經建立了數據表,並且可以手工增加數據進表中:

技術分享

這裏使用了django默認的sqlite3數據庫,如果用其他數據庫則需要修改配置文件,如使用mysql,並且建立了djangodb數據庫,在setting.py中修改:

DATABASES = {
    
default: { ENGINE: django.db.backends.mysql, NAME: djangodb, USER:root, PASSWORD:123456, HOST:localhost, #ip PORT:3306, } }

(4)頁面呈現數據

後臺步驟:

views.py中import models;

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

render(request,page,{‘article’:article})

blog.views.py內容修改:

from django.shortcuts import render
#from django.http import HttpResponse
from . import models

def index(request):
    article = models.Article.objects.get(pk=1)
    return render(request, blog/index.html, {article: article})  #三個參數,1.請求對象本身,2.模板文件 3,後臺傳到前端的數據

前端步驟:

模板可直接使用對象以及對象的” . ” 操作 : {{ article.title }}

Blog/index.html中內容修改:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>{{ article.title }}</h1>
<h2>{{ article.content }}</h2>
</body>
</html>

前臺展示如下:

技術分享

Django學習案例一(blog):四.Models