Foros del Web » Programando para Internet » Python »

Redireccion entre views (controllers) pasando parametros

Estas en el tema de Redireccion entre views (controllers) pasando parametros en el foro de Python en Foros del Web. Buena amigos Tengo el problema tipico de mostrar el mensaje de "el registro {{ id }} fue borrado" luego de haberlo borrado. He logrado "algo" ...
  #1 (permalink)  
Antiguo 19/04/2014, 11:44
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Pregunta Redireccion entre views (controllers) pasando parametros

Buena amigos

Tengo el problema tipico de mostrar el mensaje de "el registro {{ id }} fue borrado" luego de haberlo borrado.

He logrado "algo" pero me gustaria poder enviar un mensaje urlecondeado asi puede contener espacios y otros caracteres especiales...... para empezar urlencode() no logro como o de donde importarlo.


Esto si funciona (sino envio espacios, claro):


Código views.py:
Ver original
  1. # borrado
  2. def posts_delete(request, id):    
  3.     Posts.objects.get(id=id).delete()
  4.     return HttpResponseRedirect('/posts' + '/list/deleted/' +id)
  5.  
  6. #listado
  7. def posts_list(request,message=None,id=None):
  8.  
  9.     posts_list = Posts.objects.all()  
  10.    
  11.     return render_to_response(
  12.         'posts/list.html',
  13.         {'posts_list': posts_list,
  14.         'message' : message,
  15.         'id' : id
  16.         }
  17.     )

Código urls.py:
Ver original
  1. url(r'^posts/$', posts_list),
  2. url(r'^posts/(\d{1,5})/$', posts),  # posts/102
  3. url(r'^posts/list/(\w{2,20})/(\d{1,5})$', posts_list),  # posts/list/mensaje/id

Código list.html (template):
Ver original
  1. {% comment %}
  2.     template (vista en MVC)
  3.     debe agregarse a TEMPLATE_DIRS en settings.py
  4. {% endcomment %}
  5.  
  6. {% if message == 'deleted' %}
  7.     <b>Importante: registro {{ id }} {{message}}! </b><p/>  
  8. {% endif %}
  9.  
  10. {% if posts_list %}
  11.     <ul>
  12.          {% for post in posts_list %}
  13.              <li><a href='{{ post.url }}'>
  14.                  {{post.texto}}</a></li>
  15.          {% endfor %}
  16.     </ul>
  17. {% else %}
  18.     <p>No posts found.</p>
  19. {% endif %}
  20.  
  21.  
  22. {# un comentario inline :) #}
__________________
Salu2!

Última edición por Italico76; 19/04/2014 a las 13:09
  #2 (permalink)  
Antiguo 19/04/2014, 19:48
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Redireccion entre views (controllers) pasando parametros

Por favor no uses HttpResponseRedirect a secas, para eso tenemos otros métodos como redirect.

Donde le puedes pasar el nombre de la url o de la vista en lugar de que construyas la URL como estas haciendo. Ademas puedes pasarle parámetros extras.
  #3 (permalink)  
Antiguo 19/04/2014, 20:34
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Redireccion entre views (controllers) pasando parametros

Gracias........ voy a "migrar" en cualquier momento a tu sugerencia! ;)

Por otro lado... estoy desorientado... sigue sin funcionarme el "undelete" del otro post.... ya corregi las fallas que me marcaste y nada!!!! aun cambiado el modelo no quiere funcionar y lo peor no tira errores
__________________
Salu2!

Etiquetas: ip, parametros, pasando, redireccion, views
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:05.