如何解决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 举报,一经查实,本站将立刻删除。