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.py 与 wsgi.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 文件。
课后习题:
最后更新于