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

ss2ws0br  于 2023-05-19  发布在  Go
关注(0)|答案(1)|浏览(116)

我是django和htmx的新手,为了让我的urls.py更干净一些,我把所有只给予htmx响应的url放到了另一个文件中。为了将这个文件包含到我的路径中,我使用了djangos的include函数,因为我想通过一个名为/htmxFunctions/* 的URL路由所有特定于htmx的请求。
计划

  • 基地工程
  • urls.py
  • 我的应用
  • urls.py
  • 超高速公路
  • 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错误。但是一般的include似乎可以工作,因为只使用hx-post="/htmxFunctions"就可以给出正确的响应。有人知道如何解决这个问题吗?
Allready检查了拼写错误,尝试了在hx-post和我的路径中使用斜杠的每一种组合,但似乎都不起作用。也尝试了命名空间,但没有真正得到它应该做的。

path(
        "htmxFunctions",
        include(("my_app.htmx.htmx_urls", "htmx"), namespace="htmx"),
    ),
eivgtgni

eivgtgni1#

多亏了乔治,我找到了我的问题!我的django路径没有以斜杠结束(我只使用了包含一个空字符串之前,我的所有其他路径,我们的端点,所以他们不需要一个。我忘了)。

...
# htmx-funktionen
    path("htmxFunctions/", include("my_app.htmx.htmx_urls")) 
...

现在它工作了:)

相关问题