django 如何知道创建项目/应用程序的版本
Posted
技术标签:
【中文标题】django 如何知道创建项目/应用程序的版本【英文标题】:How does django know the version a project/app was created with 【发布时间】:2014-11-19 13:27:38 【问题描述】:我已将我的项目从 django 1.6 升级到 django 1.7。
修复升级“错误”后,我收到一条奇怪的警告消息:
./manage.py 检查 系统检查发现了一些问题:
警告: ?: (1_6.W001) 某些项目单元测试可能无法按预期执行。 提示:Django 1.6 引入了一个新的默认测试运行器。看起来这个项目是使用 Django 1.5 或更早版本生成的。您应该确保您的测试都按预期运行和表现。请参阅https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner 了解更多信息。
系统检查发现 1 个问题(0 个已静音)。
我找到了删除警告消息的“修复”;将以下内容添加到我的 settings.py 中:
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
我的问题是
django 如何知道我的项目是用什么版本创建的?
为了好玩,我创建了一个新的 django 项目和应用程序,运行相同的命令,但没有生成任何警告。我搜索了我的项目和测试项目中的所有文件,我没有在任何地方看到对 django 版本的引用。
有人知道 django 从哪里获取项目的 django 版本吗?
谢谢!
【问题讨论】:
【参考方案1】:它没有,它只是根据他们在每个版本中所做的更改进行猜测。
如果您正在做一些被推荐的事情或只是在旧版本中的工作方式,并且在新版本中已更改,他们会告诉您它已更改(以及在哪个版本中)。
您可能不会在新项目中收到警告,因为新版本默认设置为这种方式。
查看这些文件了解更多信息: https://github.com/django/django/blob/master/django/core/checks/compatibility/django_1_6_0.py https://github.com/django/django/blob/master/django/core/checks/compatibility/django_1_7_0.py
【讨论】:
是的,就是这样。看起来 django compat 1.6 中的权重值 >= 6 会导致警告。很好的发现,谢谢!以上是关于django 如何知道创建项目/应用程序的版本的主要内容,如果未能解决你的问题,请参考以下文章
如何知道在 django 中使用了哪个版本的应用程序 [重复]
PyCharm 创建指定版本的 Django (超详细图解)