Buscar este blog

domingo, 7 de julio de 2013

Usar reverse URL en Django

La mejor forma de trabajar en Django con URLs es usar reverse. De esta forma, cualquier modificación en el archivo urls.py no afectará en nada a nuestros ficheros views.py u otros que tengamos.

Veamos cómo hacerlo con un ejemplo muy simple, básico y sin sentido. Lo esencial es captar la idea:

urls.py


from django.conf.urls import patterns, url

urlpatterns = patterns(' ',
     url(r'^inicio/$, 'views.pagina_inicio', name='nombre_inicio')


views.py


.......

def pagina_inicio(request):
     return reverse('nombre_inicio') # Esto creará la url /inicio/

archivo.html


......
{% url 'nombre_inicio' %}
......

Teniendo esto en mente podemos ampliarlo en caso de tener variables que cambian en las URLs, como por ejemplo la siguiente URL:
                               
                                                 mi-sitio.com/modificar_usuario/3
urls.py

from django.conf.urls import patterns, url

urlpatterns = patterns(' ',
     url(r'^ /modificar_usuario/(?P\d+)/$, 'views.modificar', name='modificar_un_usuario')



views.py


.......

def modificar (request, id_usuario):
     return reverse('modificar_un_usuario', args=(id_usuario,)) # Esto creará la url /modificar_usuario/3

archivo.html


......
{% url 'modificar_un_usuario' id_usuario %}

ó, si no pasamos la variable id_usuario y la ponemos directamente:

{% url 'modificar_un_usuario' 3 %}
......

Encuentra otras soluciones en el nuevo blog ó descargate themes y módulos en www.softwild.es

Si necesitas ayuda escribe a través del formulario de contacto en la parte derecha.
Nota: Antes de acceder al formulario aparecerá un anuncio, que en 5 segundos podrás cerrar.

No hay comentarios:

Publicar un comentario

Gracias por comentar.

Si has realizado alguna consulta, responderemos lo antes posible. Gracias