Django/Python 运行时错误:超出最大递归深度

新手上路,请多包涵

我正在尝试向我的 Django 项目添加一个博客应用程序。当我将所有内容放在一起时,我可以看到我的博客帖子页面,但是 blogapp/urls.py 文件中的某些内容导致我在某处出现最大递归错误,我很难找到它。首先,这是完整的错误消息:

 RuntimeError at /admin/
maximum recursion depth exceeded while calling a Python object
Request Method: GET
Request URL:    localhost/admin/  #I edited this due to a posting error
Django Version: 1.4
Exception Type: RuntimeError
Exception Value:
maximum recursion depth exceeded while calling a Python object
Exception Location: /Users/User/tmp/newproject/DJANGO/lib/python2.7/site-packages/Django-1.4-py2.7.egg/django/utils/translation/trans_real.py in get_language, line 222
Python Executable:  /Users/User/tmp/newproject/DJANGO/bin/python
Python Version: 2.7.1

这是来自 mysite/urls.py 的 urlpatterns 变量:

 urlpatterns = patterns('',
    url(r'^polls/', include('polls.urls')),
    url(r'^blogapp/', include('blogapp.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

这是我的 blogapp/urls.py 文件:

 from django.conf.urls import patterns, include, url
from django.views.generic import ListView
from blogapp.models import Post
urlpatterns = patterns('',
    url(r'^', ListView.as_view(queryset=Post.objects.all().order_by("-created")[:2],
                            template_name="/Users/User/tmp/newproject/DJANGO/mysite/templates/blogapp/blog.htm    l")),
    url(r'^blog/', include('blogapp.urls')),
)

而且,为了更好的衡量,这是我的 blogapp/models.py 文件:

 from django.db import models

class Post(models.Model):
    '''represents a class instance of a blog entry'''
    title = models.CharField(max_length=100)
    created = models.DateTimeField()
    body = models.TextField()

    def __unicode__(self):
        return self.title

原文由 Sandwich Heat 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

您似乎将 blogapp.urls 包含在内。听起来不是个好主意。

原文由 Daniel Roseman 发布,翻译遵循 CC BY-SA 3.0 许可协议

问题是 django 注销方法在您的视图注销方法中。所以它自称并且永不结束。

因此,您可以将视图注销方法重命名为“注销”或类似名称。

另一种方法是使用其他名称导入 django logout,如下所示,并在您的注销方法中调用它: from django.contrib.auth import logout as core_logout

原文由 Dat TT 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏