tutorial tarantino pelicula descargar cantante django

tarantino - ¿Qué es "cargar url del futuro" en Django



django tutorial (2)

Es debido a un cambio en la etiqueta url promulgada en 1.3:

Cambios a url y ssi

La mayoría de las etiquetas de plantilla le permitirán pasar constantes o variables como argumentos, por ejemplo:

{% extends "base.html" %}

le permite especificar una plantilla base como una constante, pero si tiene una variable de contexto templ que contiene el valor base.html :

{% extends templ %}

También es legal.

Sin embargo, debido a un accidente de la historia, la url y ssi son diferentes. Estas etiquetas utilizan la segunda sintaxis sin voz, pero interpretan el argumento como una constante. Esto significa que no es posible usar una variable de contexto como objetivo de una etiqueta url y ssi .

Django 1.3 marca el inicio del proceso para corregir este accidente histórico. Django 1.3 agrega una nueva biblioteca de plantillas - future - que proporciona implementaciones alternativas de las etiquetas de plantilla url y ssi . Esta future biblioteca implementará un comportamiento que hace que el manejo del primer argumento sea consistente con el manejo de todas las demás variables. Por lo tanto, una plantilla existente que contiene:

{% url sample %}

debe ser reemplazado por:

{% load url from future %} {% url ''sample'' %}

Las etiquetas que implementan el comportamiento anterior han quedado en desuso, y en Django 1.5, el comportamiento anterior será reemplazado por el nuevo comportamiento. Para garantizar la compatibilidad con futuras versiones de Django, las plantillas existentes deben modificarse para usar las nuevas bibliotecas y la sintaxis future .

Cuando leo el código django a veces, veo en algunas plantillas "cargar url del futuro". No estoy muy seguro de qué es esto, pero sí sé que tiene algo que ver con las URL. ¿Cómo y cuándo se debe utilizar esta url de carga del futuro?


Pondré esto en una respuesta separada debido a la siguiente Excepción saliente en relación con las plantillas:

Si obtienes un django.core.urlresolvers.NoReverseMatch Exception desde una plantilla de django (versión de Django> 1.4), puede ser el uso de {% load url from future %} dentro de la plantilla.

En este caso, simplemente cite la url que se pasa a la etiqueta url . Es decir, {% url someurl %} debería convertirse en {% url ''someurl'' %} . Gracias a Ignacio VA por señalarme en esa dirección.