gpt4 book ai didi

python - Django 1.8 基于变量的动态url配置

转载 作者:太空宇宙 更新时间:2023-11-03 17:37:53 25 4
gpt4 key购买 nike

这似乎在 django 中不起作用:

urlpatterns = [
url(r'^%s/admin/' %(BASE_PATH), include(admin.site.urls)),
url(r'^%s/$' %(BASE_PATH), home_view),
url(r'^%s/ping/$' %(BASE_PATH), ping),
url(r'^%s/echo/$' %(BASE_PATH), echo),
url(gcd_str, gcd),
]

如果我将 BASE_PATH 设置为“测试”并转到 http://host/test/echo我收到 404 错误,但我的路径在错误页面上如下所示:

^/test/admin/
^/test/$
^/test/ping/$
^/test/echo/$
^/test/gcd/$

如果我像这样进行硬编码,它会起作用:

urlpatterns = [
url(r'^test/admin/', include(admin.site.urls)),
url(r'^test/$', home_view),
url(r'^test/ping/$', ping),
url(r'^test/echo/$', echo),
]

我猜想该模式没有正确插值,如果我使用不带 r 的字符串,它的行为似乎是相同的。

最佳答案

问题是您将 BASE_PATH 设置为

/test

当你硬编码时,你把它写成

test

起始的 / 使一切变得不同,正如 url 模式所期望的那样(根据 BASE_PATH 是以

开头的
^/test/admin/
|| |
|| matches test
|matches /
matches start of the pattern

关于python - Django 1.8 基于变量的动态url配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com