Skip to main content
 首页 » 编程设计

python之在 Django 项目中连接两个 Django 应用程序的可能性

2025年05月04日43youxin

我要为我正在开发的网络应用程序构建一个 Django 项目。出于结构目的,我想知道是否有可能在一个项目中有两个不同的应用程序相互通信,就像 django 项目中单个应用程序中的两个不同的东西一样。例如:

有一个 Django 项目的两个不同部分。用户和组。

我目前有一个测试项目,它在 django 项目的通用应用程序中都有。在一般项目中,我将项目的所有部分都包含在一个应用程序中。我想知道我是否可以将这个项目的不同部分分解成可以相互通信的单独应用程序(模板、重定向、渲染),以及我如何连接它们或我需要做什么才能将它们连接在一起。

example 
  -example 
    -__init__.py 
    -settings.py 
    -urls.py 
    -wsgi.py 
  -general 
    -__init__.py 
    -admin.py 
    -apps.py 
    -models.py 
    -test.py 
    -urls.py 
    -views.p 

这就是我想做的

example 
  -example 
     -__init__.py 
     -settings.py 
     -urls.py 
     -wsgi.py 
   -users 
     -__init__.py 
     -admin.py 
     -apps.py 
     -models.py 
     -test.py 
     -urls.py 
     -views.p 
   -groups 
     -__init__.py 
     -admin.py 
     -apps.py 
     -models.py 
     -test.py 
     -urls.py 
     -views.p 

我如何连接 urls 文件中的两个不同项目,以便我可以在两者之间重定向 url。如果可能的话,如果我想从用户应用程序中的 url 转到组应用程序中的 url,重定向会是什么样子...主 urls 文件会是什么样子...在示例文件夹中...

另一个问题是...查询会保持不变还是我需要更改查询的方式...

请您参考如下方法:

是的,您当然可以让多个应用程序在一个 Django 项目中相互通信。

example.urls:

from django.conf.urls import include, url 
 
urlpatterns = [ 
    url(r'^users/', include('users.urls')), 
    url(r'^groups/', include('groups.urls')), 
] 

用户.urls:

urlpatterns = [ 
 
    url(r'^myurl/$', users.views.myview, name='users_myview'), 
 
] 

通过将 name 参数与应用程序标识符(例如 users_)一起使用,您可以确保您的 url 可以被唯一标识。在 View 中,您可以将其称为:

views.py:

from django.core.urlresolvers import reverse 
reverse('users_myview',args=())