一、创建工程
1. 创建
django-admin startproject 工程名称
例如:想要在桌面的code目录中创建一个名为djangotest的项目工程,可执行如下命令:
cd ~/Desktop/Code
django-admin startproject djangotest
执行后,会多出一个新目录名为djangotest,此即为新创建的工程目录。
2. 工程目录说明
- 与项目同名的目录,此处为djangotest。
- settings.py是项目的整体配置文件。
- urls.py是项目的URL配置文件。
- wsgi.py是项目与WSGI兼容的Web服务器入口。
- manage.py是项目管理文件,通过它管理项目。
3. 运行开发服务器
在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。
运行服务器命令如下:
python manage.py runserver ip:端口
或:
python manage.py runserver
可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。
二、创建子应用
在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。
在Flask框架中也有类似子功能应用模块的概念,即蓝图Blueprint
。
Django的视图编写是放在子应用中的。
1、创建
在django中,创建子应用模块目录仍然可以通过命令来操作,即:
python manage.py startapp 子应用名称
manage.py为上述创建工程时自动生成的管理文件。
例如,在刚才创建的djangotest工程中,想要创建一个用户book子应用模块,可执行:
cd ~/Desktop/code/book
python manage.py startapp testapp
执行后,可以看到工程目录中多出了一个名为book的子目录。
2、子应用目录说明
- admin.py文件跟网站的后台管理站点配置相关。
- apps.py文件用于配置当前子应用的相关信息。
- migrations目录用于存放数据库迁移历史文件。
- models.py文件用户保存数据库模型类。
- tests.py文件用于开发测试用例,编写单元测试。
- views.py文件用于编写Web应用视图。
3、注册安装子应用
在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用
# Application definition
# 安装、注册子应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'testapp.apps.TestAppConfig',
# '子应用名'
# 或 '子应用名.apps.子应用名Config'
]