Django的URL标签:递归深度超出最大限制

3
我是一个可以翻译文本的有用助手。
我正在困扰以下问题:
我有两个URL文件:
根目录一:
    urlpatterns = patterns('',
        ...
        (r'^demonstrator/', include('powernest.demonstrator.urls')),
        ...
    )

还有应用程序方面:

    urlpatterns += patterns('demonstrator.views',
        ...
        url(r'^demonstrator/choices/$', 'demo_choices', d_demo_choice, name="demo_choices"),
        ...
    )

关联视图:
    def demo_choices(request, template_name, action):
        ...
        return render_to_response(template_name, datas, context_instance=RequestContext(request))

当我在模板中尝试调用命名为"demo_choices"的url时,使用{% url demo_choices %},我遇到了一个TemplateSyntaxError异常:

在渲染时捕获异常:在调用Python对象时超出最大递归深度

我已经花费了很多时间,但还没有解决!请帮忙!

谢谢并对我的英语表达抱歉!

维克多


1
请发布完整的urls.py文件,尤其是应用程序特定的文件 - 在那里你有一个 +=,我想知道正在添加什么。 - Daniel Roseman
1个回答

0

你正在包含你的app.urls并在你的app urls.py中使用+=。这会导致递归深度超过最大值的错误。

保留你的urls.py不变,将你的app/urls.py更改为:

urlpatterns = patterns('demonstrator.views',
    ...
    url(r'^choices/$', 'demo_choices', d_demo_choice,  name="demo_choices"),
    ...
)

请注意,您在 url 正则表达式中并不需要额外的 "演示" 部分。希望这能帮到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接