我在Django有一个站点。如何知道(通过观察代码(它需要哪个版本的Django,需要哪个Python?
猜测Django的版本并不容易。通常,如果添加了一个适当的需求文件(如requirements.txt
(,该文件会指定版本,例如:
# requirements.txt
Django==3.1
如果没有,那么您将需要查看所使用的函数。您可以查看发行说明,了解哪些功能已被删除。如果您的程序使用函数X,并且该函数已被删除(不推荐使用(,则我们知道该版本将比该版本旧。
例如,如果我们查看Django 3.1的发行说明,我们会看到:
django.db.models.fields
中django.core.exceptions.FieldDoesNotExist
的兼容性导入已删除。
如果您的代码包含一行:
from django.db.models.fields import FieldDoesNotExist
这意味着您的项目不能使用django-3.1,否则会产生错误。您还可以查找该版本中引入的功能,并查看是否使用了这些功能。如果是这样的话,那么Django的版本至少是3.1。您可以对Django版本执行二进制搜索,以轻松查找Django的版本。但通常情况下,一个项目不需要特定的版本,但可以使用范围的版本,因为该项目根本不依赖于某些新功能。
您可以在Python的发行说明中执行同样的操作。例如,如果我们查看Python 3.8的新增功能,那么我们会看到:
有一种新的语法
:=
,它将值分配给变量,作为更大表达式的一部分。它被亲切地称为";海象操作员;因为它长得像海象的眼睛和獠牙。
这意味着,如果您的代码包含walrus运算符,那么您就知道这至少是python-3.8。