我最近通過適當的「登錄」/「註冊」鏈接向我的應用程序添加了身份驗證(當然是通過django.contrib.auth)到我的base.html。在運行manage.py時測試django.contrib.messages.tests時發生虛假故障
問題是當我運行manage.py
測試,我得到4次失敗,所有從django.contrib.messages.tests:
ERROR: test_middleware_disabled_anon_user (django.contrib.messages.tests.cookie.CookieTest)
ERROR: test_middleware_disabled_anon_user (django.contrib.messages.tests.fallback.FallbackTest)
ERROR: test_middleware_disabled_anon_user (django.contrib.messages.tests.user_messages.LegacyFallbackTest)
ERROR: test_middleware_disabled_anon_user (django.contrib.messages.tests.session.SessionTest)
都具有相同的故障:
TemplateSyntaxError: Caught NoReverseMatch while rendering: Reverse for 'django.contrib.auth.views.login' with arguments '()' and keyword arguments '{}' not found.
在manage.py shell
這工作:
>>> from django.core.urlresolvers import reverse
>>> reverse('django.contrib.auth.views.login')
'/signin/'
但是,這不:
>>> reverse('django.contrib.auth.views.login',(), {})
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/dave/Dropbox/Projects/statbooks.co.uk/lib/python2.6/site-packages/django/core/urlresolvers.py", line 350, in reverse
*args, **kwargs)))
File "/Users/dave/Dropbox/Projects/statbooks.co.uk/lib/python2.6/site-packages/django/core/urlresolvers.py", line 296, in reverse
"arguments '%s' not found." % (lookup_view_s, args, kwargs))
NoReverseMatch: Reverse for 'django.contrib.auth.views.login' with arguments '()' and keyword arguments '{}' not found.
從我的base.html註釋掉{% url %}
標記使測試通過。
這是什麼造成的?
請指定您的Django版本... – 2010-08-06 14:33:01
在Django SVN([trunk/django/core/urlresolvers.py](http://code.djangoproject.com/browser/django/trunk/django/core/urlresolvers。 py)第337行),簽名是'reverse(viewname,urlconf = None,args = None,kwargs = None,prefix = None,current_app = None)'。既然你沒有看到'urlconf =()'和'args = {}',我知道那不是你正在使用的'reverse'。 – 2010-08-06 14:42:36
我正在使用Django 1.2.1 – 2010-08-06 14:49:19