我開始一個新的(實際上很古老的)項目,我知道它是在Django。知道Django的確切版本,我迷迷糊糊了。有沒有一種方法可以知道我的應用程序正在運行的Django版本?爲應用程序獲取Django的版本
回答
唯一的方法就是猜測。
- 1.0:2008年9月
- 1.1(?)我想通過看settings.py文件的創建日期(或其他基地項目文件)
的版本發佈日期開始: 2009年7月29日[1]
- 1.2:5月17日,2010 [2]
- 1.3:2011年3月23日[3]
在你的urls.py:4]
from django.conf.urls.defaults import *
from django.contrib import admin
或者具有admin.py
文件中的應用[5]表明,它是一個1.0+項目。
在你的urls.py:6]
(r'^admin/', include(admin.site.urls)),
建議1.1+。
在你的settings.py文件:
DATABASES = {
'default': {
'NAME': 'app_data',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': 'postgres_user',
'PASSWORD': 's3krit'
},
'users': {
'NAME': 'user_data',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'priv4te'
}
}
建議1.2+。
[4]:Backwards Incompatible changes 0.96 > 1.0
[5]:Backwards Incompatible changes 0.96 > 1.0
[ 6]:Multiple databases
您可以根據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開發人員在做出正確的事情方面做得很好,只要給予充足的時間和警告以便隨着時間的推移適當遷移舊功能即可。
+1表示折舊的警告。這是一個很好的查找方法。 –
我看便知上述接受,我認爲這是容易得多。也許我錯過了一些東西,但這是我會做的。
打開具有其路徑上的Django項目蟒蛇終端。
$ python
>>> import django
>>> print django.get_version()
0.97-pre-SVN-7668
該版本號僅用於說明。我希望你可能會有所不同。
你可以獲得django的版本,安裝你發佈的版本要容易得多。但那不是我需要的。我想知道我的項目創建的django版本。 –
我來帶一些在rails的經驗,並得到一個應用程序正在使用的版本你只需要檢查gemfile或與早期的版本,你必須檢查一些配置文件。其實上面的答案幫助我很多,因爲我是django的新手。反正謝謝你。 –
或者你可以只用'django-admin.py --version'來獲得當前安裝的django版本的版本 –
https://docs.djangoproject.com/en/1.7/intro/tutorial01/:
python -c "import django; print(django.get_version())"
這讓我以下內容:
1.7.1
這不會告訴你已安裝的版本,而不是應用程序依賴的版本嗎? – Ramy
- 1. 如何獲取應用程序版本?
- 2. 獲取應用程序版本
- 3. 從應用程序中獲取grails應用程序版本
- 4. 獲取執行Web應用程序的程序集版本
- 5. Objective-C爲CFBundleShortVersionString獲取空白值 - 應用程序版本
- 6. 如何獲取Windows Phone通用應用程序的應用程序版本?
- 7. 如何以編程方式獲取應用程序的版本
- 8. 應用程序更新後獲取以前的應用程序版本ios
- 9. 如何從mac應用程序獲取其他應用程序的版本
- 10. 如何在django應用程序中獲得mercurial版本?
- 11. 使用C#獲取已安裝的應用程序版本
- 12. 獲取我的應用程序的當前網點版本
- 13. 獲取商店中的Windows Phone應用程序的版本
- 14. Erlang:以編程方式獲取應用程序版本
- 15. 如何從桌面應用程序獲取Metro Style應用程序版本?
- 16. 如何獲取應用程序版本並構建iOS PhoneGap應用程序?
- 17. 獲取C#應用程序的早期版本設置
- 18. 獲取應用程序版本的Windows Phone 8
- 19. 從Android Studio的清單中獲取應用程序版本build.gradle
- 20. 如何從itunes獲取最新的應用程序版本
- 21. 從庫中獲取應用程序的版本號
- 22. 獲取應用程序的版本是崩潰
- 23. Objective C獲取指定應用程序的版本
- 24. 獲取新版本應用程序的提醒
- 25. 如何從xcode獲取自己的應用程序版本?
- 26. 通過keytool獲取應用程序版本的私鑰
- 27. Frenzapp如何獲取其他應用程序的版本?
- 28. 如何獲取Android中應用程序的版本號?
- 29. 強制firefox獲取最新版本的silverlight應用程序
- 30. 如何獲取手機版本中的任何應用程序
這會告訴你當前* *版本的Django,而不是該項目的建成的版本。 –
@Ignacio啊,這是正確的。我認爲這是一個正在運行的項目。 –
@jJames Khoury其實我試圖運行該項目,但丟失了Django使用的版本。這不是一個正在運行的項目。我的意思是這是一個正在運行的項目,現在我正在調試一些功能。 –