目录
背景信息
多人合作开发Django项目(或者不同时期开发的多个Django项目),各自开发完成后需要合并到一起,统一启停(使用相同的端口访问)。下面介绍合并两个项目的步骤。
假如已经有两个项目ProjectA和ProjectB,
urls.py中分别注册了接口:
ProjectA:
path('hello/', views.hello),
ProjectB:
path('bye/', views.bye),
views.py中分别定义了接口:
ProjectA
def hello(request):
return HttpResponse("Hello world ! ")
ProjectB
def bye(request):
return HttpResponse("Bye bye ! ")
合并步骤
1、创建项目All_Project作为合并项目。
django-admin startproject All_Project
目录结构如下:
All_Project
│ manage.py
│
└─All_Project
asgi.py
settings.py
urls.py
wsgi.py
__init__.py
2、将ProjectA及ProjectB中的文件夹(无需拷贝其manage.py文件)拷贝到All_Project目录下,拷贝后的结构如下:
3、修改All_Project的settings.py文件,添加新合入的项目:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'ProjectA',
'ProjectB',
]
4、修改All_Project的urls.py文件,引入子项目的path设置,采用include方式引入。
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('ProjectA/', include("ProjectA.urls")),
path('ProjectB/', include("ProjectB.urls")),
]
5、执行All_Projec的manage.py启动整个项目:
python manage.py runserver 0.0.0.0:8000
Django version 4.0.2, using settings 'All_Project.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CTRL-BREAK.
查看效果
http://localhost:8000/ProjectA/hello/
http://localhost:8000/ProjectB/bye/
主项目中包含了路由:
- admin/
- ProjectA/
- ProjectB/
ProjectA和ProjectB又分别包含了各自的路由:
例如ProjectA:
项目合并成功,各子项目中的接口可以正常调用。