数据表是数据存放的场所,是Web开发中必不可少的,比如用户编辑、点赞和评论的数据都是可以存放在数据表当中,然后在通过加总聚合又返回到客户端呈现给用户看。比如我们经常看到每篇博文下的阅读数,点赞数,评论数等
先上传以下本节的代码:
类似于mysql和oracle建表,表中有多个字段,每个字段的类型是不同的。
在Django中建数据表,不同的类就对应不同的库表,类中的多个属性就是表字段(列),在定义列的时候要定义列的类型,比如字符串类型/整型/浮点型等(下表列举了Django中常见的字段类型)。models.py中常见的字段类型
1. 在models.py中建表
Python+Django中models.py文件是可以创建库表结构的,就如在oralce或sql数据库中创建表。
在models.py创建表如下:
from django.db import models
# Create your models here.
class Article(models.Model):
title=models.CharField(max_length=50) #字符串类型字段
content=models.TextField() #长字符串型字段
保存上述代码,再进入命令行,执行以下代码,就会创建数据表, 并创建响应的移植文件。使得应用程序其他位置可引用表的相关内容。
python manage.py makemigrations
python manage.py migrate
如何知晓数据库创建成功?
方法1:可以看到下图在manage.py同级目录下,生成了.sqllite文件。安装SQLlite数据库后打开该文件,就可以找到你要的库表,例如刚才建在myfrtsite应用下的article表,字段有title,content,另外,系统会默认给表加一个主键id.
方法2:刚才在执行makemigration 和migrate两行代码后,出现了新增的迁移文件。
打开文件命令:
manage.py sqlmigrate myfrstsite 0001
上面建表语句就是创建Article的响应的建表语句,完毕。
2. 如何使用表中的数据?
还记得之前说过view.py文件是用来处理响应的吗。整体来说,就是服务器接收到请求,比如某个网址及参数
接着view.py接收参数处理响应,返回请求后的结果,呈现给客户端。
没错,下一步就是更改view.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) # 获取主键为1的文章实例
title=article.title #获取上述文章的标题
content=article.content # 获取上述文章的内容
return HttpResponse("
文章标题:%s
文章内容:%s" % (title,content))
运行前我们需要在数据库中增加一条记录。
在命令行执行以下代码:
python manage.py runserver
3. 深入了解数据表
明天继续~2020.3.1
继续更新在下一节更新