008 创建APP
1 公共APP
公共APP用于存放公共文件,如模型文件,公共类、函数文件等。
公共APP命名为nucleus。
1.1 创建公共APP
在PyCharm环境下,打开Terminal,执行:
(csoft_env) D:\DjangoProjects\Projects\CloudSoft\cloud_soft>python manage.py startapp nucleus
此时,可以看到该APP目录,如果没有,则关闭工程重新打开,多几次就可以看到了。
1.2 公共APP nucleus配置
删除nucleus下的tests.py,models.py,admin.py文件。
在nucleus下创建两个python package,common和models,在models下分别再创建bases,clients,managers三个python包。
在settings_dev.py中,找到INSTALLED_APPS,增加nucleus应用。
1 2 3 4 5 6 7 8 9 | INSTALLED_APPS = [ 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django.contrib.sessions' , 'django.contrib.messages' , 'django.contrib.staticfiles' , 'nucleus.apps.NucleusConfig' ] |
2 应用APP
项目应用APP创建在api目录下。值得注意的是,api目录下创建APP时,需要执行的命令如下:
python ../manage.py startapp app_name
一般项目创建三个APP,即:基础APP,客户端APP,管理端APP
2.1 进入api目录,创建三个APP
(csoft_env) D:\DjangoProjects\Projects\CloudSoft\cloud_soft>cd api
(csoft_env) D:\DjangoProjects\Projects\CloudSoft\cloud_soft\api>python ../manage.py startapp bases
(csoft_env) D:\DjangoProjects\Projects\CloudSoft\cloud_soft\api>python ../manage.py startapp clients
(csoft_env) D:\DjangoProjects\Projects\CloudSoft\cloud_soft\api>python ../manage.py startapp managers
2.2 配置APP
删除三个APP下面除__init__.py和apps.py外的其它所有文件和文件夹
分别进入三个APP下的apps.py文件,增加api路径
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/usr/bin/env python # -*- coding: UTF-8 -*- """ 路径 : urls.py 标题 : 管理端APP配置 创建 : 2022-04-07 10:57 更新 : 2022-04-07 10:57 编写 : 陈倚云 """ from django.apps import AppConfig class ManagersConfig(AppConfig): """ 管理端APP配置 """ default_auto_field = 'django.db.models.BigAutoField' name = 'api.managers' |
2.3 分别在三个APP目录下,创建三个urls.py文件,做为分路由,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/env python # -*- coding: UTF-8 -*- """ 路径 : urls.py 标题 : 基础APP路由 创建 : 2022-04-07 10:57 更新 : 2022-04-07 10:57 编写 : 陈倚云 """ from django.urls import path urlpatterns = [ ] |
2.4 在总路由,即工程配置目录下的urls.py中,指定三个分路由
1 2 3 4 5 6 7 8 9 | from django.contrib import admin from django.urls import path, include urlpatterns = [ path( 'admin/' , admin.site.urls), path( 'bases/' , include( 'api.bases.urls' )), path( 'clients/' , include( 'api.clients.urls' )), path( 'managers/' , include( 'api.managers.urls' )), ] |
2.5 在settings_dev.py中配置三个APP
找到INSTALLED_APPS,增加三个APP
1 2 3 4 5 6 7 8 9 10 11 12 | INSTALLED_APPS = [ 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django.contrib.sessions' , 'django.contrib.messages' , 'django.contrib.staticfiles' , 'nucleus.apps.NucleusConfig' , 'api.bases.apps.BasesConfig' , 'api.managers.apps.ManagersConfig' , 'api.clients.apps.ClientsConfig' ] |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通