Hasta Quentin Tarantino publicó su obra maestra épica película, Django era sinónimo de "el mejor marco de Python de todos los tiempos." Mientras que su SEO y reputación podría haber recibido un golpe, Django sigue siendo la misma solución de primera plataforma de desarrollo de aplicaciones Web en Python.
Con una base de usuarios dedicados y una gran cantidad de tutoriales en línea, para empezar con Django no sólo se recomienda pero extremadamente fácil de hacer también.
Este gigante del mundo del desarrollo de Python es muy respetado y ha sido la inspiración de muchos marcos similares, algunos de ellos incluso fuera del espectro de Python.
Después de años y años de desarrollo, Django es ahora una herramienta extremadamente estable, con muy pocos errores y una gran cantidad de documentación para ayudar a cualquier principiante a cabo. También se actualiza constantemente y actualizar a las últimas versiones de Python también.
En este momento Django se ha utilizado en los principales sitios de Internet como Instagram, Mozilla, Disqus, OpenStack, Rdio y Pinterest, sólo para nombrar unos pocos. Lo que esto le indica como desarrollador es que se puede confiar fácilmente para ejecutar los proyectos de sus clientes si se puede manejar el tráfico y userbases los sitios antes mencionados manejan.
¿Qué es nuevo en esta versión:.
- el apoyo a la realización de acciones después de una confirmación de transacción
- Soporte para la validación de contraseña.
- mixins permiso para que las vistas basadas en la clase.
- Nuevo estilo para contrib.admin.
- Soporte para ejecutar pruebas en paralelo.
¿Qué es la nueva en la versión 1.9:.
- El apoyo a la realización de acciones después de una confirmación de la transacción
- Soporte para la validación de contraseña.
- mixins permiso para que las vistas basadas en la clase.
- Nuevo estilo para contrib.admin.
- Soporte para ejecutar pruebas en paralelo.
¿Qué hay de nuevo en la versión 1.8.3:.
- Fijo lavado sesión en el backend cached_db
¿Qué hay de nuevo en la versión 1.8.1:.
- Una API formal para Model._meta
- Soporte nativo para múltiples motores de plantilla.
- Soporte para expresiones SQL complejas a través del ORM.
- Nueva PostgreSQL funcionalidad específica en contrib.postgres.
¿Qué hay de nuevo en la versión 1.7.5 / 1.8b1:
- Corrección de errores:
- ha corregido un fallo de migración cuando unapplying de contrib.contenttypes o primera migración de contrib.auth.
- Made mesas RenameModel operación de cambio de nombre ManyToManyField de la migración.
- ha corregido un fallo en la migración de MySQL al migrar de un OneToOneField a un ForeignKey.
- Prevenir el punto de vista de la producción de static.serve ResourceWarnings en ciertas circunstancias.
- cheque esquema fijo para ManyToManyField para buscar tipo interno en lugar de comprobar instancia de clase, por lo que es posible escribir campos de encargo m2m como con el mismo comportamiento.
¿Qué hay de nuevo en la versión 1.7.2:
- Corrección de errores:
- Agregado GeoDjango compatibilidad con controlador de base de datos mysqlclient.
- Fijo accidente MySQL 5.6+ con GeometryFields en las migraciones.
- ha corregido un fallo de migración cuando la eliminación de un campo que se hace referencia en AlterIndexTogether o AlterUniqueTogether.
- Actualización del primer día de la semana en la localidad de Ucrania hasta el lunes.
- Se ha añadido soporte para la inicialización transaccional metadatos espaciales en SpatiaLite 4.1 +.
- ha corregido un fallo que impedía la migración cambiar un campo anulable con un valor predeterminado a no anulable con el mismo defecto.
- ha corregido un fallo de migración cuando se añade GeometryFields con espacio en blanco = True en PostGIS.
- Se permite el uso de DateTimeField () como Transform.output_field.
- Se ha corregido un error que implica la migración de serialización flotador (& quot; nan & quot;) y el flotador (& quot; inf & quot;).
- corregido una regresión donde los campos de formulario personalizado que tienen un atributo queryset pero sin limit_choices_to no podían utilizarse en un ModelForm.
- Se ha corregido un error de validación de tipo de campo personalizado con el motor MySQL cuando tipo_bd devuelve None.
- ha corregido un fallo de migración cuando se cambia el nombre de un campo que es parte de un index_together.
- squashmigrations fijos a respetar el parámetro --no-Optimizar.
- Hecho RenameModel reversible.
- Se evita retrocesos innecesarios de la migración desde otras aplicaciones al migrar hacia atrás.
- Se ha corregido un error de consulta poco frecuente cuando se utiliza subconsultas anidadas.
- ha corregido un fallo en las migraciones al eliminar un campo que es parte de una restricción de índice / unique_together.
- Fijo django.core.files.File .__ __ repr () cuando el nombre del archivo contiene caracteres Unicode.
- Añadido contexto que falta a la vista del administrador delete_selected que impedía encabezado del sitio de encargo, etc. aparezcan.
- corregido una regresión con inlines generados dinámicamente y referencias de campo permitidas en el administrador.
- Se ha corregido un error bucle infinito para ciertas dependencias de migración cíclicos, e hizo que el mensaje de error para dependencias cíclicas mucho más útiles.
- Alta falta index_together manipulación para SQLite.
¿Qué es la nueva en la versión 1.7.1:
- animales relacionados con muchos-a-muchos campos para ser hace referencia en el administrador.
- Ha añadido un mensaje de error más útil si se intenta migrar una aplicación sin crear primero la tabla ContentTypes.
- migraciones Modificados algoritmo de dependencia para evitar posibles recursividad infinita.
- Se ha corregido un UnicodeDecodeError cuando el mensaje de error al ras contiene caracteres Unicode.
- reintegrados cláusulas que faltan COMPROBAR SQL que fueron omitidos en algunos backends cuando no se utiliza migraciones.
- serialización de objetos de tipo fijo en las migraciones.
- mascotas en línea y referencias ocultas a los campos de administración.
- El decorador @deconstructible ahora falla con un ValueError si el objeto decorado de forma automática no puede ser importado.
- Se ha corregido un error tipográfico en un mensaje de error inlineformset_factory () que causó un accidente.
- restauró la capacidad de utilizar ABSOLUTE_URL_OVERRIDES con el modelo del 'auth.user' (# 11775). Como efecto secundario, el ajuste añade ahora un método get_absolute_url () para cualquier modelo que aparece en ABSOLUTE_URL_OVERRIDES pero no define get_absolute_url ().
- Se evita enmascarar algunas excepciones ImportError durante la carga de la aplicación.
- index_together vacía o modelo unique_together opciones Ningún resultado más largas en las migraciones infinito.
- Solucionado el fallo en contrib.sitemaps si lastmod devuelve una fecha en lugar de una fecha y hora.
- migraciones les permite trabajar con app_labels que tienen la misma parte última (por ejemplo django.contrib.auth y vendor.auth).
- restauró la capacidad de DeepCopy objetos F.
- Se han añadido Formatos para Welsh (CY) y varios lugares de China (zh_CN, zh_Hans, zh_Hant y zh_TW). Formatos para Macedonia se han fijado.
- Añadido cita de nombres de restricción en el SQL generado por migraciones para evitar que choque con caracteres en mayúsculas en el nombre.
- cambio de nombre fijo de modelos con un campo de muchos a muchos auto-referencial (ManyToManyField ( "yo")).
- Se ha añadido la get_extra (), get_max_num (), y get_min_num () ganchos para GenericInlineModelAdmin.
- Hecho migrations.RunSQL ya no requieren el signo de porcentaje escapar. Esto es coherente con cursor.execute ().
- Fabricado SERIALIZE la entrada en el diccionario PRUEBA utilizable.
- Solución de error en las migraciones que impedían restricciones de clave externa a los modelos no administrados con una clave personalizada primaria.
- Agregado SchemaEditor para MySQL backend SIG de manera que se crean los índices espaciales para aplicaciones con las migraciones.
- Agregado SchemaEditor para Oracle de back-end SIG de manera que se crearán metadatos espaciales e índices de aplicaciones con las migraciones.
- Coaccionada la opción de campo de modelo related_name a Unicode durante la generación de la migración para generar migraciones que trabajan tanto con Python 2 y 3.
- Fijo MigrationWriter para manejar tipos integrados que sin las importaciones.
- Fijo deepcopy en ErrorList.
- Fabricado las admindocs ver para navegar ver detalles comprobar si la vista se especifica en la URL existe en la URLconf. Anteriormente era posible importar paquetes arbitrarios de la ruta de Python. Esto no se considera un problema de seguridad porque admindocs sólo es accesible a usuarios del personal.
- no se cuelga al UnicodeDecodeError en AdminEmailHandler con caracteres no ASCII en la solicitud.
- Fijo get_or_create desaparecido y update_or_create sobre los gestores relacionados que causan IntegrityError.
- urlsafe_base64_decode Hecho () devuelven el tipo adecuado (cadena de bytes) en Python 3.
- makemigrations ahora puede serializar los valores de zona horaria-consciente.
- Añadido un mensaje para el que pregunta migraciones al retirar la restricción nula de un campo para impedir que un IntegrityError en filas NULL existente.
- Las relaciones genéricas fijos en ModelAdmin.list_filter.
- restaurada cumplimiento RFC para el backend SMTP en Python 3.
- ha corregido un fallo al analizar las galletas que contienen contenido no válido.
- El marco de verificación del sistema plantea ahora models.E020 error cuando el método de clase Model.check () es inalcanzable.
¿Qué es la nueva en la versión 1.7:
- Un nuevo sistema integrado de migración de base de datos. Notas sobre la actualización del sur (una popular aplicación de terceros que proporcionan una funcionalidad de migración) también están disponibles.
- Un concepto refactorizada de aplicaciones Django. aplicaciones Django ya no están atados a la existencia de unos archivos de modelos, y ahora pueden especificar tanto los datos de configuración y la ejecución de código como se inicia Django hacia arriba.
- Las mejoras en la API de modelo de campo para apoyar las migraciones y, en el futuro, para permitir la fácil adición de soporte compuesto de clave de ORM de Django.
- Mejoras para el Administrador de costumbre y clases de QuerySet, permitiendo recorrido relación inversa para especificar el Administrador de usar, y la creación de un encargado de una clase QuerySet personalizado.
- Un marco comprobación del sistema ampliable que puede ayudar a los desarrolladores en la detección y el diagnóstico de errores.
¿Qué hay de nuevo en la versión 1.6.3 / 1.7b2:
- Fijo:
- MySQL encasillamiento
- ejecución de código usando inesperado revés ()
- El almacenamiento en caché de páginas anónimas podría revelar CSRF contador
¿Qué es la nueva en la versión 1.6.2:
- electrónico fijo codificación de Python 3.3.3+.
- Se ha solucionado un problema por el que, cuando settings.DATABASES [ 'default'] [ 'AUTOCOMMIT'] = false, la conexión no estaba en modo de confirmación automática, pero Django pretendió que era.
- corregido una regresión en la herencia de varias tablas excluye consultas ().
- Añadido elementos que faltan para django.utils.timezone .__ __ todo.
- Se ha corregido un problema de falta de alineación con el campo select_related () y la herencia del modelo.
- Fijo se unen para promover y condiciones negadas.
- Oracle base de datos de la introspección ahora trabaja con booleano y flotan campos.
- Se ha solucionado un problema por el que los objetos no eran perezosos actualmente marcados como seguros cuando pasa a través mark_safe () y podría llegar a ser de doble escape.
- ha corregido un fallo al ejecutar el comando changepassword cuando la representación de objeto de usuario contiene caracteres no ASCII.
- El comando collectstatic se producirá un error en lugar de por defecto a utilizar el directorio de trabajo actual, si no se establece STATIC_ROOT. En combinación con la opción --clear, el comportamiento anterior podría acabar con cualquier cosa por debajo del directorio de trabajo actual.
¿Qué hay de nuevo en la versión 1.6.1:
- Errores corregidos:
- pantalla fija de casos en línea en juegos de formularios cuando el padre tiene 0 para la clave primaria.
- corregido una regresión en los que se sobrescriban QuerySets personalizados para las claves externas si ModelAdmin había pedido conjunto.
- Eliminado mención de una característica en la opción --locale / l de los makemessages y compilemessages comandos que nunca funcionaron como se había prometido: Soporte de múltiples nombres de los entornos separados por comas. Todavía es posible especificar varias configuraciones regionales en una carrera mediante la opción varias veces.
- corregido una regresión que provocó innecesariamente ajustes de configuración al importar get_wsgi_application.
- comprobación fijos de cierre de sesión de cliente () cuando se utiliza la sesión de back-end basado en cookies.
- Se ha corregido un accidente cuando un GeometryField utiliza un widget no geométrica.
- actualizar fijo hash de la contraseña cuando se cambia el número de iteraciones.
- Se ha corregido un error en la vista de depuración cuando la URLconf sólo contiene un elemento.
- falta de resultados de búsqueda añadido recuento y restablecer enlace a la vista de administración de cambios.
- El idioma actual ya no se guarda en la sesión LocaleMiddleware en cada respuesta, sino sólo después de un cierre de sesión.
- ha corregido un fallo al ejecutar de ejecución del servidor en sistemas no están en inglés y cuando la fecha formateada en su producción contenía caracteres no ASCII.
- ha corregido un fallo en la vista de depuración después se produjo una excepción en Python ≥ 3,3.
- ha corregido un fallo en ImageField en algunas plataformas (Homebrew y RHEL6 informó).
- corregido una regresión utilizando las relaciones genéricas en ModelAdmin.list_filter.
método
¿Qué hay de nuevo en la versión 1.6:
- Django 1.6 simplifica las plantillas de proyecto por defecto y de aplicación, encender clickjacking la protección y la interfaz de administración por defecto.
- Django Django 1.6 reacondicionamientos de manipulación, y ahora permite la confirmación automática de nivel de base de datos por defecto. Esto implica algunos deprecations, así que por favor asegúrese de leer las notas sobre la migración desde el manejo de transacciones 1,5-estilo.
- Django 1.6 es compatible con conexiones de base de datos persistentes. Tenga en cuenta que esta no es la misma que la agrupación de conexiones; esto simplemente permite conexiones a vivir (por un tiempo configurable) a través de solicitudes tramitadas por el mismo trabajador.
transacción
¿Qué hay de nuevo en la versión 1.5.4 / 1.6 Beta 4:
- Fijo:
- denegación de servicio a través de grandes contraseñas.
¿Qué es la nueva en la versión 1.5.3 / 1.6 Beta 3:
- Estas liberaciones abordar un Directory- la vulnerabilidad de recorrido en uno de los códigos de plantilla incorporadas de Django.
¿Qué hay de nuevo en la versión 1.5.2:
- Fijo:
- Cross-site scripting (XSS) en la interfaz de administración
- XSS posible a través de is_safe_url
¿Qué hay de nuevo en la versión 1.5.1:
- sin en silencio escondido.
¿Qué es la nueva en la versión 1.5.0:
- Django 1.5 introduce soporte para un modelo configurable por el usuario.
- Django 1.5 es la primera versión de Django con soporte para Python 3 (en concreto, Python 3.2 y posteriores).
- documentación de Django también ha conseguido un poco de trabajo bastante significativa.
Lo que es nuevo en la versión 1.4.4 / 1.5 RC 2:
- Estas versiones de seguridad fijan cuatro temas :. un potencial vector de phishing, un vector de denegación de servicio, un problema de fuga de información, y una serie de vulnerabilidades XML
¿Qué hay de nuevo en la versión 1.4.2:.
- host fijo envenenamiento de cabecera
- Documentación de HttpOnly opción de cookies.
¿Qué hay de nuevo en la versión 1.4.1:
- errores de seguridad fijo:
- Para cross-site scripting en vistas de autenticación.
- denegación de servicio en la validación de la imagen.
- denegación de servicio a través de get_image_dimensions ().
¿Qué es la nueva en la versión 1.4:
- Django 1.4 es la última versión oficial de Django que apoyará Python 2.5.
¿Qué es la nueva en la versión 1.4 RC 2:
- Django 1.4 gotas de apoyo para Python 2.4
- El apoyo a infraestructuras de prueba en el navegador
- SELECT diseñado para actualizaciones
- Model.objects.bulk_create en el ORM
- QuerySet.prefetch_related
- Mejora de hash de la clave
- HTML5 DOCTYPE
- filtros de la lista en la interfaz de administración
- tipo múltiple en la interfaz de administración
- Nueva ModelAdmin métodos
- inlines admin respecto
- Herramientas para la firma criptográfica
- basada en cookies de sesión back-end
- Nuevo asistente de formulario
- reverse_lazy
- URL Traduciendo
- apoyo a la traducción contextual para {% trans%} y {% blocktrans%}
- kwargs personalizable SingleObjectMixin URLconf
- Asignación de etiquetas de plantilla
- * args y ** kwargs apoyo para las funciones de ayuda etiqueta de plantilla
- No se envoltura de excepciones en el modo TEMPLATE_DEBUG
- truncatechars filtro de plantilla
- etiqueta de plantilla estática
- backend de almacenamiento CachedStaticFilesStorage
- Protección clickjacking simple
- mejoras CSRF
- Filtrado de informe de error
- soporte IPv6 extendida
- Actualización diseño del proyecto por defecto y manage.py
- Mejora de apoyo WSGI
- de encargo del proyecto y de aplicaciones
- Soporte para las zonas horarias
- comparaciones HTML en pruebas
- Dos nuevas cadenas de formato de fecha
permisos de usuario
patrones
plantillas
¿Qué hay de nuevo en la versión 1.3.1:.
- manipulación de sesión
- ataque de denegación de servicio a través de campo URLy.
- campo URLy redirección.
- Asesor:. Encabezado de host y CSRF
- Asesor: págs. Depurar y datos POST sensibles
¿Qué hay de nuevo en la versión 1.3:.
- Un marco para las vistas basadas en la clase de escritura
- El soporte integrado para el uso de las facilidades de registro de Python.
- Soporte Contrib para un fácil manejo de archivos estáticos.
- marco de pruebas de Django ahora es compatible con (y se envía con una copia de) la biblioteca unittest2.
¿Qué hay de nuevo en la versión 1.2.5:
- revisiones de seguridad:
- Un error en el manejo CSRF.
- Potencial XSS en el procesamiento de campos de archivos.
- Directorio de vulnerabilidad-recorrido en Windows.
¿Qué es la nueva en la versión 1.3 beta 1:.
- Los cambios en los métodos de entrada del administrador
- Django 1.3 se suministra con una nueva app django.contrib.staticfiles contrib para ayudar a los desarrolladores manejar los archivos de medios estáticos (imágenes, CSS, JavaScript, etc.) que son necesarios para presentar una página web completa.
- Otros ajustes a la aplicación staticfiles.
¿Qué es la nueva en la versión 1.2.3 / 1.3 alfa 1:.
- puntos de vista basados en clases
- Registro.
- manejo de archivos estáticos extendidos.
- gestores de contexto de transacción.
Requisitos
- Python 2.7 o superior
Comentarios que no se encuentran