通常一个Models对应一个数据库的表。models以类的形式表现,包含一些基本字段和数据的行为,这种对象和数据的对应被称为ORM(对象关系映射)。
首先在app目录下的models里创建类:
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=32,default='Title')
#此处max_length=32为必须输入的参数
content= models.TextField(null=True)
#CharField和TextField被称为字段。CharField一般用来做标题,TextField一般用来做文章内容。
#其他字段和参数可去django官方文档中看
然后建立数据库。在命令行中进入manage.py同级目录,执行 python manage.py makemigrations app名(如果不写app名则表示所有项目下app)
再执行python manage.py migrate,django会把installed_apps都移植。
查看sql语句:在命令行输入python manage.py sqlmigrate 应用名,文件id
用sqitel expert personal打开项目根目录下的db.sqlite3数据库文件,找到名为blog_article的表,点加号,输入title和content,分别文Hello和Hello,Blog!这里的title和content即是在models利创建的
然后修改views.py
from django.shortcuts import render
from django.http import HttpResponse
from . import models #引入数据库里的数据
# Create your views here.
def index(request): #接受请求,做出响应
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
网友评论