P02 创建 Django 项目和 APP

前提条件

安装 django

pip install django

创建第一个Django项目

创建项目

django-admin startproject projectname

其中 projectname 指的是你的项目名字

创建 APP

  • 需要当前目录下含有 manage.py 文件

    python manage.py startapp appname

  • 已安装django即可使用

    django-admin startapp appname

其中 appname 指的是你的应用名字

创建完成后,需要到 settings.py 中注册,将在后续介绍

这将创建一个名为 appname 应用目录,其展开的样子如下所示::

  • appname/

    • __init__.py

    • models.py

    • tests.py

    • views.py

更新应用文件下apps.py文件

  • 此处我们在在项目目录中新建名为apps的文件夹储存后面的app应用,也可以直接创建app应用

  • cd 到apps文件夹目录下

  • 运行 django-admin startapp appname 创建应用,此处我们创建data应用

  • 打开 apps 下 apps.py 文件

  • 将 name 变量赋值修改

项目组成  ‍

在运行创建项目命令后项目自动生成了

  • 项目名文件夹

  • 子目录下同名子文件夹

  • manage.py 文件

manage.py 提供了一种命令行工具,允许你以多种方式与该 Django 项目进行交互。如:python manage.py help ,能列出它所能做的事情。注意,此文件一般情况下不需要改动。

子目录文件组成

  • __init__.py: 是一个空文件,作用是所在的这个目录可以被当作包使用。

  • settings.py:该 Django 项目整体配置文件。(该文件非常重要,建议认真理解这个文件中可用的设置类型及其默认值。)

  • urls.py:Django 项目的 URL 设置。可视其为你的 Django 网站的目录。

  • asgi.pywsgi.py:常见的网关接口协议:CGI,FastCGI,WSGI,ASGI。asgi.py 是异步服务器网关接口项目配置文件。ASGI 描述了 Python Web 应用程序和Web服务器之间的通用接口。与 WSGI 不同的是,ASGI允许每个应用程序有多个异步事件。另外,ASGI 支持同步和异步应用程序。开发人员可以将原有的同步 WSGI Web 应用程序迁移到 ASGI ,也可以使用 ASGI 构建新的异步Web应用程序。

目录定义补充

在应用目录下由以下组成

  • __init__.py

  • admin.py

  • apps.py

  • models.py

  • tests.py

  • views.py

  • migrations 文件夹

__init.py__ 是一个空文件,作用同前。

admin.py 文件跟网站的后台管理相关。

models.py 文件跟数据库操作相关。主要用一个 Python 类来描述数据表。运用这个类,你可以通过简单的 Python 的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的 SQL 语句。

views.py 包含了页面的业务逻辑,接收浏览器请求,进行处理,返回页面操作相关。

tests.py 文件用于开发测试用例,在实际开发中会有专门的测试人员使用。

apps.py 文件是 Django1.10 之后增加的,通常里面包含对应用的配置。

migrations 是 Django 1.8 之后推出的 migrations 机制,使 Django 数据模式管理更容易。migrations 机制有两个指令,makemigrations 和 migrate。makemigrations 指令是用 models.py文件 里面的model 和当前的 migrations 代码里面的 model 做对比,如果有新的修改,就生成新 migrations 代码。migrate 指令是用 migrations 目录中代码文件和 Django 数据库 django_migrations 表中的代码文件做对比,如果表中没有,那就对没有的文件按顺序及依赖关系做 migrate apply ,然后再把代码文件名加进 migrations 表中。在目录中自动生成了 __init__.py 文件。

课后习题:

课后练习题

最后更新于