Estoy comenzando un proyecto nuevo (realmente muy antiguo) que sé que está en Django. Me estoy perdiendo sabiendo la versión exacta de Django en la que se basa. ¿Hay alguna manera de que pueda saber la versión de Django que está ejecutando mi aplicación?Obtenga la versión de Django para la aplicación
Respuesta
La única manera es adivinar. Me gustaría empezar por mirar la fecha de creación del archivo settings.py (u otros archivos de proyecto de base)
Fechas de estreno de versiones:
- 1.0: Septiembre de 2008.
- 1.1 (?): 29 de de julio de, 2009 [1]
- 1.2: 17 de mayo de 2010 [2]
- 1.3: 23 Marzo, 2011 [3]
Tener en su urls.py: [4]
from django.conf.urls.defaults import *
from django.contrib import admin
o tener un archivo en una aplicación admin.py
[5] sugiere que se trata de un proyecto 1.0+.
Tener en su urls.py: [6]
(r'^admin/', include(admin.site.urls)),
sugeriría 1.1+.
Tener en su archivo 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'
}
}
sugeriría 1.2+.
[1]: 1.1 release notes
[2]: 1.2 release notes
[3]: 1.3 release notes
[4]: Backwards Incompatible changes 0.96 > 1.0
[5]: Backwards Incompatible changes 0.96 > 1.0
[ 6]: Multiple databases
Puede adivinar según la forma en que se configura settings.py. Su primera sugerencia sería desde database settings. La antigua forma previa a Django 1.2 fue:
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.
Este método todavía se admite hasta 1,3 pero ahora hace Django a quejarse en voz alta acerca de ser obsoleta.
A partir de Django 1.2 el siguiente formato se utiliza:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(PROJECT_DIR, 'mycms.db'),
}
}
Si bien esto no es definitivo, sí al menos a dar una pista acerca de si su aplicación fue escrito antes o después de Django 1.2.
Tenga en cuenta que una aplicación escrita en una versión anterior de Django debería funcionar, pero es probable que reciba muchas advertencias de desaprobación en la consola si el código hace referencia a elementos que han sido obsoletos o simplemente se han movido. .
Estas advertencias generalmente se pueden ignorar de forma segura a corto plazo, pero definitivamente debe tomarse un tiempo para silenciarlas actualizando su código para hacer referencia a las funciones en su nuevo hogar/formato. Los desarrolladores de Django hacen un buen trabajo al hacer lo correcto en cuanto a dar suficiente tiempo y advertencias para que la funcionalidad más antigua se migre correctamente con el paso del tiempo.
+1 para las advertencias depreciadas. Esta es una excelente manera de averiguarlo. –
Veo la respuesta aceptada anteriormente y creo que es mucho más fácil. Tal vez me esté perdiendo algo, pero esto es lo que haría.
Abra un terminal python que tenga el proyecto Django en su camino.
$ python
>>> import django
>>> print django.get_version()
0.97-pre-SVN-7668
Ese número de versión es estrictamente ilustrativo. El tuyo puede diferir, espero.
ya para obtener la versión de django instalada, la que ha publicado es mucho más fácil. Pero eso no es lo que necesitaba. Quería saber la versión de django para la que se creó mi proyecto. –
Llego con algo de experiencia en rails y para obtener la versión que usa una aplicación, solo tiene que verificar el archivo gemfile o con la versión anterior tenía que verificar algunos archivos de configuración. En realidad, las dos respuestas anteriores me ayudaron mucho ya que soy nuevo en django. De todos modos, gracias. –
o simplemente podría hacer 'django-admin.py --version' para obtener la versión de la versión de django instalada actualmente –
Esto funciona en Django 1.7:
import django
django.VERSION
... que produce (en mi máquina):
(1, 7, 0, 'rc', 3)
¿Le importaría al infractor agregar un comentario sobre por qué se bajó la votación? Una respuesta similar es la que mejor se votó aquí: http://stackoverflow.com/questions/6468397/how-to-check-django-version – Patrick
¿No le diría esto únicamente la versión que se instaló y no la versión de la que depende la aplicación? ¿en? – Ramy
https://docs.djangoproject.com/en/1.7/intro/tutorial01/:
python -c "import django; print(django.get_version())"
que me pone lo siguiente:
1.7.1
¿no le diría esto solo la versión que se instaló y no la versión de la que depende la aplicación? – Ramy
- 1. Obtenga información de la versión para .exe
- 2. Obtenga la versión corta de git hash
- 3. Obtenga la versión de TCL desde la línea de comandos?
- 4. iPhone MonoTouch - Obtenga la versión del paquete
- 5. Obtenga la ID de Google utilizada para descargar la aplicación
- 6. TFS Obtenga la última versión de la Carpeta específica
- 7. ¿Obtenga la información de la versión de un servicio instalado?
- 8. App Engine: Obtenga la versión actual de la aplicación de servicio
- 9. TFS Obtenga la versión específica en la carpeta separada
- 10. Django ORM para la aplicación de escritorio
- 11. iOS versión de la aplicación
- 12. Obtenga el tamaño fácil de la aplicación
- 13. Obtenga la versión Asamblea en Windows Phone 7
- 14. Django: obtenga fechas distintas de la marca de tiempo
- 15. Obtenga la versión node.js en tiempo de ejecución
- 16. htaccess en heroku para la aplicación django
- 17. Android Obtenga el Directorio de datos de la aplicación 'Inicio'
- 18. IOS Versión de la aplicación de numeración
- 19. Método para la versión de la aplicación en una aplicación de consola
- 20. Etiqueta de plantilla de Django para mostrar la versión de Django
- 21. Django: obtenga la salida de HTML en una variable
- 22. Obtenga TeamCity para construir la última etiqueta
- 23. Obtenga la primera parte de una URL de la plantilla de Django
- 24. Servidores separados para servir la aplicación django y su contenido?
- 25. en busca de aplicación Django para la Wiki de colaboración
- 26. ¿Cómo obtener la versión de la aplicación en Windows Phone?
- 27. Android: Obtenga el nombre de aplicación de la intención
- 28. ¿Cómo ejecuto una versión de una aplicación web mientras desarrollo la próxima versión?
- 29. Android In Code recibe la versión de la aplicación?
- 30. Cómo ejecutar la aplicación en la versión anterior de Simulator
Esto le dirá la versión * actual * de Django, no la versión para la que se creó el proyecto. –
@Ignacio Ah eso es correcto. Supuse que era un proyecto en marcha. –
@jJames Khoury En realidad, estoy tratando de ejecutar el proyecto, pero me pierdo qué versión de Django usar. No es un proyecto en ejecución. Quiero decir que era un proyecto en ejecución, ahora estoy depurando algunas de las características. –