如何合并多个Django项目?

目录

背景信息

合并步骤

查看效果


背景信息

多人合作开发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/

 

主项目中包含了路由:

  1. admin/
  2. ProjectA/
  3. ProjectB/
     

ProjectAProjectB又分别包含了各自的路由:

例如ProjectA:

 

项目合并成功,各子项目中的接口可以正常调用。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值