我正在做一个可重用的Django应用程序,假设它的名字是Polls。这个应用程序应该可以正常工作,无论它在其父应用程序的www.example.com中被配置到什么位置urls.py。
考虑下面的结构,就像Django教程中的那样
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
polls/
__init__.py
urls.py
admin.py
apps.py
models.py
views.py
因此,民意调查应用程序有自己的urls.py和自己的views.py,可以链接到任何其他应用程序,例如通过向mysite/mysite/ www.example.com添加一行urls.py例如本示例中的第5行urls.py:
from django.urls import path, include
urlpatterns = [
path('polls/', include('polls.urls'))
]
在这个例子中,投票应用程序的所有视图都将有一个类似**https://somedomain.com/polls/the-relative-page-link**的链接,但是,即使我们将上面代码中的第5行编辑为其他基本路径,投票应用程序仍然应该正常运行,例如:
urlpatterns = [
path('another-path/', include('polls.urls'))
]
这样就可以把like改成**https://somedomain.com/another-path/the-relative-page-link**
我的问题是,“polls”应用程序的某些视图包含自定义javascript代码,这些代码与代表服务器端API的另一个视图进行通信。因此,为了使这种通信正常工作,无论polls URL是在**/polls下还是在/another-path**下,我需要一种方法来动态地找到民意调查应用程序的当前路径,以便它可以生成正确的JavaScript代码,可以与其API进行通信。在制作可重用的应用程序时,处理这种情况的传统方法是什么?
1条答案
按热度按时间juud5qan1#
单位:
polls/urls.py
单位:
polls/views.py
现在,您可以简单地执行
reverse('mysite_baseurl')
来获取所需的基本目录。如果有人试图直接去那里,他们会得到404页面