gpt4 book ai didi

python - 为什么我的 django url conf 无法包含另一个应用程序 url 模块

转载 作者:行者123 更新时间:2023-11-28 22:01:57 25 4
gpt4 key购买 nike

我有一个项目,其根 url conf 内容是:

 from django.conf.urls import patterns, include, url
import funnytest
urlpatterns = patterns(
url(r'^funnytest/', include('funnytest.urls')),
url(r'^helloworld/', funnytest.views.hello),
)

funnytest是这个项目的一个app,在funnytest中我写了一个模块urls.py来配置这个app的请求:

from django.conf.urls import patterns, include, url
from views import *
urlpatterns = patterns(
url(r'^hello/$', hello),
)

当我访问 localhost/funnytest/hello/时返回一个 dispath 错误,表明没有这样的模式

当我访问 localhost/helloworld 时,它运行良好。

为什么呢,应该如何配置~

最佳答案

如果您查看模式函数的定义:

def patterns(prefix, *args):
pattern_list = []
for t in args:
if isinstance(t, (list, tuple)):
t = url(prefix=prefix, *t)
elif isinstance(t, RegexURLPattern):
t.add_prefix(prefix)
pattern_list.append(t)
return pattern_list

您会看到模式在 url 模式列表之前采用参数“prefix”。

在两个文件中尝试以下操作:添加一个空字符串作为模式的第一个参数。

from django.conf.urls import patterns, include, url
import funnytest
urlpatterns = patterns(
'',
url(r'^funnytest/', include('funnytest.urls')),
url(r'^helloworld/', funnytest.views.hello),
)

from django.conf.urls import patterns, include, url
from views import *
urlpatterns = patterns(
'',
url(r'^hello/$', hello),
)

关于python - 为什么我的 django url conf 无法包含另一个应用程序 url 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12351430/

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