San*_*nta 39 python django python-2.x python-2.7 django-1.7
我有一个Django应用程序,其部分最初是用Django 1.2编写的,并且该应用程序已经升级到1.7.升级到1.7后,我收到以下警告python manage.py check:
System check identified some issues:
WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
Run Code Online (Sandbox Code Playgroud)
错误消息中提到的URL确实详细说明了已经发生的更改,但它没有提供有关为何触发此警告或如何禁止它的任何提示.尽管警告消息引用了Django 1.6,但它只在升级到Django 1.7后才开始出现
我已经检查过在Django 1.7下运行相同数量的单元测试,就像在Django 1.6.1下运行一样.
San*_*nta 45
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
Run Code Online (Sandbox Code Playgroud)
in settings.py将阻止此警告发生.
xeo*_*eor 10
请参阅https://github.com/django/django/blob/1.7/django/core/checks/compatibility/django_1_6_0.py#L42以获取检查的内容列表,以便您发现此错误.
如果您的测试一切正常,您可以通过执行以下一个(或全部)步骤来关闭警告:
SITE_ID如果您不再使用站点框架,请从您的设置中删除.
将BASE_DIR变量添加到您的设置中.
MANAGERS如果您不使用它,请从您的设置中删除列表.
删除XFrameOptionsMiddleware设置中的中间件.(无论如何,它在Django 1.6+中默认启用)
删除自定义TEMPLATE_LOADERS或ADMINS如果您不需要它们(您通常这样做,所以除非您知道自己在做什么,否则不要这样做).
这是当前启发式(Django 1.7.3)检查的两件事,以便检测您的项目是否由Django <1.6生成.