我是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"),
),
1条答案
按热度按时间eivgtgni1#
多亏了乔治,我找到了我的问题!我的django路径没有以斜杠结束(我只使用了包含一个空字符串之前,我的所有其他路径,我们的端点,所以他们不需要一个。我忘了)。
现在它工作了:)