我試圖將相當大的Django項目升級到新發布的Django 1.4,並且在運行python manage.py test
時遇到了一些問題。'管理員'不是Django 1.4中的註冊名稱空間
很多在Django 1.3中傳遞的內部測試現在都失敗了,我看起來似乎無法解決很多奇怪的消息。出現的最之一是:
NoReverseMatch: u'admin' is not a registered namespace
這是募投django.contrib.auth
測試在特定密碼更改(其中一個是test_password_change_fails_with_mismatched_passwords (django.contrib.auth.tests.views.ChangePasswordTest)
奇怪的是,該命名空間是正確註冊和應用功能就好了。我在「新」的方式進口管理:
url(r'^admin/', include(admin.site.urls)),
當我谷歌這個錯誤特別是,所有我能找到的關於這個問題,在所有的人使用舊的方案導入管理網址,並沒有什麼。
我試過從INSTALLED_APPS
一個一個地移除應用程序,但auth測試根本不會通過。另外,當我從python manage.py shell
加載Python解釋器並執行reverse('admin:index')
時,URL解析爲/admin/
而沒有錯誤。我已經詳細閱讀了代碼,並且無法看到可能會崩潰的位置。
正如我前面提到的,這不是唯一發生的錯誤。即使在我的settings.py
文件中定義了AUTH_PROFILE_MODULE
,我也會從test_site_profile_not_available (django.contrib.auth.tests.models.ProfileTestCase)
測試中獲得AttributeError: AUTH_PROFILE_MODULE
。 Django自己的測試如何失敗?
有一些錯誤代碼。在正常情況下,Django測試不會失敗。你只需要仔細檢查一切。我有一個類似的錯誤,結果與我的一個urlpatterns中的不平衡括號有關。 – 2012-03-26 15:57:50
你最終發現了什麼?我誠實地走進了這樣的事情,我不知道發生了什麼。我結束了不得不將管理模板的東西移動到我自己的應用程序目錄。 – stormlifter 2012-07-17 18:01:24
我對於一些django 1.5測試有同樣的錯誤,比如test_middleware_disabled。我試圖扭轉TEMPLATE_LOADERS的命令,在接受答案的建議,我已經從我的應用程序的模板目錄刪除我的管理模板(由埃米爾的建議),但我仍然得到錯誤。 – 2014-02-12 22:23:54