Django url标签:超出最大递归深度
Posted
技术标签:
【中文标题】Django url标签:超出最大递归深度【英文标题】:Django url tag : maximum recursion depth exceeded 【发布时间】:2011-09-19 09:27:11 【问题描述】:我正在努力解决以下问题:
我有两个 urls 文件:
根之一:
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))
当我尝试在模板中调用命名的 url “demo_choices”时,感谢 % url demo_choices % 我得到了 TemplateSyntaxError 异常:
渲染时捕获异常:调用 Python 对象时超出最大递归深度
我花了很多时间都没有弄清楚!请帮忙 !
谢谢你,对不起我的英语不好!
维克多
【问题讨论】:
请发布 full urls.py,尤其是特定于应用程序的 - 你有一个+=
那里,我想知道是什么已添加。
【参考方案1】:
您正在包含您的 app.urls 并在您的应用程序 urls.py 中使用 +=
。这会导致超出最大递归深度错误。
保留您的 urls.py 并将您的 app/urls.py 更改为:
urlpatterns = patterns('demonstrator.views',
...
url(r'^choices/$', 'demo_choices', d_demo_choice, name="demo_choices"),
...
)
请注意,您实际上并不需要 url 正则表达式中的那个额外的“演示者”部分。希望对您有所帮助。
【讨论】:
以上是关于Django url标签:超出最大递归深度的主要内容,如果未能解决你的问题,请参考以下文章
Celery 4.2-Django RecursionError:超出最大递归深度