通常一個(gè)Models對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)的表责语。models以類的形式表現(xiàn)僻他,包含一些基本字段和數(shù)據(jù)的行為兽狭,這種對(duì)象和數(shù)據(jù)的對(duì)應(yīng)被稱為ORM(對(duì)象關(guān)系映射)萧朝。
首先在app目錄下的models里創(chuàng)建類:
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=32,default='Title')
#此處max_length=32為必須輸入的參數(shù)
content= models.TextField(null=True)
#CharField和TextField被稱為字段岔留。CharField一般用來(lái)做標(biāo)題,TextField一般用來(lái)做文章內(nèi)容检柬。
#其他字段和參數(shù)可去django官方文檔中看
然后建立數(shù)據(jù)庫(kù)献联。在命令行中進(jìn)入manage.py同級(jí)目錄,執(zhí)行 python manage.py makemigrations app名(如果不寫(xiě)app名則表示所有項(xiàng)目下app)
再執(zhí)行python manage.py migrate,django會(huì)把installed_apps都移植厕吉。
查看sql語(yǔ)句:在命令行輸入python manage.py sqlmigrate 應(yīng)用名酱固,文件id
用sqitel expert personal打開(kāi)項(xiàng)目根目錄下的db.sqlite3數(shù)據(jù)庫(kù)文件,找到名為blog_article的表头朱,點(diǎn)加號(hào)运悲,輸入title和content,分別文Hello和Hello,Blog!這里的title和content即是在models利創(chuàng)建的
然后修改views.py
from django.shortcuts import render
from django.http import HttpResponse
from . import models #引入數(shù)據(jù)庫(kù)里的數(shù)據(jù)
# Create your views here.
def index(request): #接受請(qǐng)求项钮,做出響應(yīng)
article = models.Article.objects.get(pk=1)
return render(request,'blog/index.html',{'article':article})
改html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{article.title}}</h1>
<h3>{{article.content}}</h3>
</body>
</html>
image.png