微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django将项目中的网址添加到另一个项目中

如何解决Django将项目中的网址添加到另一个项目中

我在Django上有一个现有项目(将其命名为main),并且其中有几个应用程序。在django中还有一个单独的项目,其中还有一个应用程序(我们将其称为第二个)。这是项目“ second”的通用文件结构:

my_second_project
│   manage.py
│   models.py
│   my_models.py
│   my_views.py
│
├───myapp
│   │   admin.py
│   │   apps.py
│   │   Funcs.py
│   │   models.py
│   │   tests.py
│   │   urls.py <-- from here urls import to project urls file
│   │   views.py
│   │   __init__.py
│   │
│   ├───migrations
│   │   └───...│
├───my_second_project
│   │   asgi.py
│   │   settings.py
│   │   urls.py <-- HERE all urls i need
│   │   wsgi.py
│   │   __init__.py
├───templates
│       ...
│
└───__pycache__
        models.cpython-37.pyc

这是项目“ main”的通用文件结构:

main_project
├───app ...
│   ├───...
├───main_project
│   ├───media
│   │   └───user_uploads
│   ├───settings
│   │   └───base.py
│   └───urls.py
├───app ...
│   ├───...
├───app ...
│   ├───...
└───static
    ├...

我需要将“第二个”项目集成到现有的(主项目)中,理想情况下,无需对第二个项目进行任何更改。我尝试以集成应用程序的方式(通过url包括)进行操作,但是似乎它不适用于项目,因为django编写了“找不到myapp模块”。

url('data-classifier/',include('my_second_project.my_second_project.urls'))

是否可以在不更改“第二”项目的情况下将“第二”项目添加到我的“主”项目中?

解决方法

部署这些项目时,它们将不会存储在附近的目录中。理想情况下,它们根本不在同一台服务器上。

相反,如果您负担不起将所需应用程序的内容从第二个项目复制(或移动)到主项目,并且不想使用nginx重定向,请在主项目中并从{ {1}}重定向到秒的端点。

main_project.my_second_project.urls.py

urls.py

如果您在本地运行8000,在本地运行8001,则将'http:// localhost:8001 / endpoint /'设置为from django.urls import path from django.views.generic import RedirectView app_name = 'my_second_project' urlpatterns = [ path('endpoint/',RedirectView.as_view(url='<my_second_project_url>'),name='endpoint') ]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。