我正在开始一个新的(实际上非常旧的)项目,我知道它在Django。我在知道它所构建的Django的确切版本时迷路了。有没有办法让我知道我的应用程序正在运行的Django版本?
发布于 2011-06-30 14:06:38
您可以根据settings.py的布局方式进行猜测。您的第一个提示将来自database settings。Django 1.2之前的旧方法是:
DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = os.path.join(BASE_DIR, 'db') # Or path to database file if using sqlite3.
#DATABASE_USER = '' # Not used with sqlite3.
#DATABASE_PASSWORD = '' # Not used with sqlite3.
#DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
#DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
此方法在1.3版本中仍受支持,但现在导致Django大声抱怨它已被弃用。
从Django 1.2开始,使用以下格式:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(PROJECT_DIR, 'mycms.db'),
}
}
虽然这不是决定性的,但它至少给了你一个提示,你的应用是在Django 1.2之前还是之后编写的。
请记住,针对旧版本的Django编写的应用程序应该仍然有效,但如果您的代码引用了已被弃用或只是四处移动的内容,您可能会在控制台上收到许多不赞成使用的警告。
这些警告通常可以在短期内安全地忽略,但您绝对应该花时间通过更新代码来引用新主页/格式中的功能,从而使它们安静下来。Django开发人员在做正确的事情方面做得很好,因为他们给了足够的时间,并警告随着时间的推移,旧的功能将被正确地迁移。
发布于 2011-06-30 21:52:02
我看到上面被接受的答案,我认为它要容易得多。也许我错过了什么,但这就是我会做的。
打开路径上有Django项目的python终端。
$ python
>>> import django
>>> print django.get_version()
0.97-pre-SVN-7668
该版本号仅用于说明。我希望你的会有所不同。
发布于 2015-03-05 06:53:08
https://docs.djangoproject.com/en/1.7/intro/tutorial01/
python -c "import django; print(django.get_version())"
这给我带来了以下信息:
1.7.1
https://stackoverflow.com/questions/6530231
复制相似问题