首页 > 解决方案 > 如何确定给定代码的 Django 版本?

问题描述

我在 Django 中有一个站点。如何知道(通过查看代码)它需要哪个版本的 Django 以及需要哪个 Python?

标签: pythondjango

解决方案


猜测 Django 版本并不容易。通常,如果添加了适当的需求文件(如requirements.txt),此文件会指定版本,例如:

# requirements.txt
Django==3.1

如果不存在,那么您将需要查看使用的功能。您可以查看发行说明以查看已删除的功能。如果您的程序使用函数X,并且该函数已被删除(未弃用),那么我们知道该版本将比该版本旧。

例如,如果我们查看Django 3.1 的发行说明,我们会看到:

删除了django.core.exceptions.FieldDoesNotExistin的兼容性导入。django.db.models.fields

如果您的代码因此包含一行:

from django.db.models.fields import FieldDoesNotExist

那么这意味着您的项目不能使用,否则会产生错误。您还可以查找该版本中引入的功能并查看是否使用了这些功能。如果是这样,您就知道 Django 版本至少是 3.1。您可以对 Django 版本执行二进制搜索以轻松找到 Django 版本。但通常一个项目不需要特定版本,但可以使用一系列版本,因为该项目根本不依赖于某些新功能。

您可以对 Python 的发行说明执行相同的操作。例如,如果我们查看Python 3.8 中的新增功能,我们会看到:

有一种新的语法:=可以将值作为更大表达式的一部分分配给变量。由于其与海象的眼睛和獠牙相似,它被亲切地称为“海象操作员”。

因此,这意味着如果您的代码包含海象运算符,那么您知道这至少是


推荐阅读