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项目的创建和管理

如何知道在 django 中使用了哪个版本的应用程序 [重复]

django快速搭建blog

PyCharm 创建指定版本的 Django (超详细图解)

Django项目的创建与管理和pycharm与Github的秘密

Django框架的安装,项目创建