1、django-admin startproject mysite
命令让Django新建一个名为mysite的项目。这个命令末尾的句点让新项目使用合
适的目录结构,这样开发完成后可轻松地将应用程序部署到服务器
让我们看看 startproject
创建了些什么:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
这些目录和文件的用处是:
- 最外层的:file: mysite/ 根目录只是你项目的容器, Django 不关心它的名字,你可以将它重命名为任何你喜欢的名字。
manage.py
: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin and manage.py 获取所有manage.py
的细节。- 里面一层的
mysite/
目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如mysite.urls
). mysite/__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。mysite/settings.py
:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django settings 了解细节。mysite/urls.py
:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。mysite/wsgi.py
:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。
2、python manage.py startapp learning_logs
命令startapp appname让Django建立创建应用程序所需的基础设施。如果现在查看项目目录,
将看到其中新增了一个文件夹learning_logs(见)。打开这个文件夹,看看Django都创建了什么
(见)。其中最重要的文件是models.py、admin.py和views.py。我们将使用models.py来定义我们
要在应用程序中管理的数据
3、python manage.py makemigrations learning_logs
命令makemigrations让Django确定该如何修改数据库,使其能够存储与我们定义的新模型相
关联的数据。输出表明Django创建了一个名为0001_initial.py的迁移文件,这个文件将在数据库中
为模型Topic创建一个表。
4、python manage.py migrate
我们将修改数据库称为迁移数据库。首次执行命令migrate时,将让Django确保数据库与项
目的当前状态匹配。
每当需要修改“学习笔记”项目管理的数据时,都采取如下三个步骤:修改models.py;对
learning_logs调用makemigrations;让Django迁移项目。