13

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
4

3 に答える 3

34

blogapp.urlsをその中に含めているようです。良い考えではないようです。

于 2012-12-15T13:52:40.877 に答える
3

問題は、django ログアウト メソッドがビュー ログアウト メソッドにあることです。だからそれは自分自身を呼び出し、決して終わらない.

したがって、ビューのログアウト メソッドの名前を「signout」などに変更できます。

他の方法は、以下のような他の名前で django logout をインポートし、ログアウト メソッドで呼び出します。 from django.contrib.auth import logout as core_logout

于 2016-04-08T00:44:11.273 に答える
-2

メンバーオブジェクトのプロパティを作成しようとしていると思います

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

理想的には、下のコンストラクタメソッドに入る必要があります

 def __init__(self):
''represents a class instance of a blog entry'''
    title = models.CharField(max_length=100)
    created = models.DateTimeField()
    body = models.TextField()
于 2012-12-15T13:50:55.560 に答える