创建应用程序
Django项目由一系列应用程序组成,它们协同工作,让项目成为一个整体。我们暂时只创建一个应用程序,它将完成项目的大部分工作
1.ubuntu系统新建一个终端窗口,切换到manage.py所在目录,激活虚拟环境11_env,再执行命令startapp:
命令startapp+appname 让Django建立创建应用程序所需的基础设施
文件名 | 功能 |
---|---|
admin.py | |
apps.py | |
init.py | |
migrations | |
models.py | 创建模型,模型告诉Django如何处理应用程序中存储的数据 |
tests.py | |
views.py |
2.定义模型,打开models.py文件
```python
from django.db import models
导入模块models,并创建自己的模型
class Topic(models.Model):
text = models.CharField(max_length=200)
date-added = models.DateTimeField(auto_now_add = True)
def __str__(self):
return self.text
我们创建了一个名为Topic的类,它继承了Model——Django中一个定义了模型基本功能的类。Topic类只有两个属性:text和date_added
属性text是一个CharField,由字符或文本组成的数据,定义CharField属性时,必须要告诉Django该在数据库中预留多少空间,将max_length设置为200字符
属性date_added是一个DateTimeField,记录时间日期的数据,传递一个实参auto_add_now= True,每当用户创建新主题时,Django将这个属性自动设置成当前时间日期
3.激活模型
要使用模型,必须让Django将应用程序包含到项目中,打开settings.py(位于项目目录learning_log)
通过将应用程序编组,在项目不断增长,包含更过应用程序时,有助于对应用程序进行跟踪。这里新建一个名为My apps的片段,当前它只包含应用程序learning_logs
接下来,需要让Django修改数据库,使其能够存储与模型Topic相关的信息,
命令makemigrations让Django确定该如何修改数据库,使其能够存储与我们定义的新模型相关联的数据。输出表明Django创建了一个名为0001——initial.py的迁移文件,这个文件将在数据库中为模型Topic创建一个表
下面来应用这种迁移,让Django替我们修改数据库
这个命令的大部分输出都与我们首次执行命令migrate的输出相同。我们需要检查输出行,在这里Django确认为learning_logs应用迁移时一切OK
每当需要修改“学习笔记”管理的数据时,都采取如下三个步骤:修改models,对learning_logs调用makegirations