如何从同一个 django 应用程序包含多个 urls.py?

问题描述 投票:0回答:0

我是 django 和 htmx 的新手,我试图通过将所有只给出 htmx 响应的 url 放入另一个文件来保持我的 urls.py 更干净。 为了将这个文件包含到我的路径中,我使用了 djangos include 函数,因为我想通过一个名为 /htmxFunctions/* 的 url 路由所有特定于 htmx 的请求 文件夹结构为:

项目

  • 基地项目
    • urls.py
  • 我的应用程序
    • urls.py
    • htx
      • htmx_urls.py

我的 url 文件看起来像这样:

# base_project/urls.py
urlpatterns = [
    path("", include("my_app.urls")),
    path("admin/", admin.site.urls),
    path("__reload__/", include("django_browser_reload.urls")), #tailwind specific
]
#my_app/urls.py
urlpatterns = [
    path("", views.index, name="index"),
     ...
    # htmx-funktionen
    path("htmxFunctions", include("my_app.htmx.htmx_urls")),
]
my_app/htmx/htmx_urls.py
urlpatterns = [
    path("test", views.test, name="test"),
    path("", views.index, name="test"), # for testing purposes
]

我的问题是,使用

hx-post="/htmxFunctions/test/"
只会导致 404 错误。但一般包含似乎有效,因为仅使用
hx-post="/htmxFunctions"
即可给出正确的响应。 有人知道如何解决这个问题吗?

已经检查了拼写错误,可能尝试了在 hx-post 和我的路径中使用斜线的每一种组合,但似乎没有任何效果。还尝试了命名空间,但并没有真正得到它应该做的事情。

 path(
        "htmxFunctions",
        include(("my_app.htmx.htmx_urls", "htmx"), namespace="htmx"),
    ),
django django-urls htmx
© www.soinside.com 2019 - 2024. All rights reserved.