Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2014, 11:44
Avatar de Italico76
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