Django學習案例一(blog):四.Models
阿新 • • 發佈:2017-11-05
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