
Edgar Moises Valdez Faria
PreguntaHola, alguien me puede explicar lo de las url inversa en django, tampoco entiendo para que sirve o como funciona este metodo reverse_lazy()

Ricardo Azpeitia P.
Si no sabes que es una url inversa, pudimos haber empezado por ahí. Para entender esto primero necesitas comprender como funciona el URLConf
Tu URLConf (usualmente definido en urls.py) si te haz dado cuenta solamente es una lista de objetos url y cada objeto url tiene al menos 3 parámetros importantes:
1. Un patrón, el cual cuando tu escribas la url en el navegador hara match con ese patrón.
2. El view, en caso de que coincida es la función a donde va entrar.
3. El nombre de la url (preferentemente único), esto servira como id para identificar esa url.
Cuando tu haces una petición por tu navegador hace lo siguiente:
1. Django toma la url
2. Y por cada url en tu vista, prueba si el patrón coincide con la url*
3. Si coincide con una url entonces manda a llamar a esa vista y termina
4. Si nunca coincide arroja un error 404
*Nota: Realmente hay mas cosas de fondo que hace pero por simplicidad serán omitidas.
Ahora que sabes como funciona urls que tal si hacemos lo contrario?
¿Que tal si yo se el nombre del view y los parametros? Podría generar la url de tal forma que si la llego a cambiar en urlsconf no lo tenga que cambiar en todos los lugares?
Lo que hace el reverse es:
1. Itera sobre el urlconf
2. Si el view o nombre del view coincide entonces trata de generar la url en base a los parámetros y al patrón. Y si coincide esa url generada entonces te regresa esa url.

Edgar Moises Valdez Faria
Estoy leyendo un libro de django, la explicación de la url inversa es muy ambigua, me queda claro. Se agradece, por favor, una explicación un poquito mas especifica