[pyar] [django]

David Arch daviddanielarch en gmail.com
Mar Feb 12 14:46:04 -03 2019


Hola Santiago, el problema es que al hacer el post con $.post, en realidad
estas haciendo un pedido asincrono usando AJAX. Lo que tendrias que hacer
es agregarle un callback a ese $.post, y finalmente hacer el redirect desde
JS.
Fijate de usar $.ajax en vez de $.post que es mas configurable y te deja
acceder a los headers de la respuesta, la url de redirect generalmente
viene en Location.

$.ajax({
  url: "URL ACA",
  success:function(result,status,xhr){
    console.log(xhr.getResponseHeader('Location'));
  }});


El mar., 12 feb. 2019 a las 14:01, Leandro Moreno (<
moreno.leandro.g en gmail.com>) escribió:

> Por alguna razon me saltie la ultima parte de tu primer email que
> explicabas eso, perdon.
>
> Mira, si ya estas usando jquery para enviar el pedido, podrias esperar la
> respuesta para redireccionar, de hecho, creo que no se te esta haciendo el
> redirect, justamente porque no es django o la maquinaria de django la que
> esta manejando ese request. Por lo que vos deberias hacerlo desde la
> respuesta que te llega del backend usando windows y jquery.
>
> Como te dije, hace mucho no uso en profundidad templates de django.
> Esperemos que alguien con mas experiencia te pueda ayudar mas jaja.
>
> Saludos.
>
>
> Leandro Moreno
> Full Stack Developer
>
>
> El mar., 12 feb. 2019 a las 13:52, Santiago Paleka (<
> santiagopaleka en gmail.com>) escribió:
>
>> Hola Leandro,
>>
>> Gracias por tu respuesta.
>> Efectivamente, estoy usando los templates de django y el post que hace el
>> botón, lo hace a una vista que tiene la redirección.
>> En la vista tengo
>>
>> def datosEtiquetas(request):
>>     if request.method == "POST":
>>         return redirect(reverse('mostrarEtiquetas'))
>>
>>
>> Y en la salida del log de django:
>>
>> [12/Feb/2019 13:46:21] "POST /imprimir/ HTTP/1.1" 302 0
>> [12/Feb/2019 13:46:21] "GET /etiquetas/ HTTP/1.1" 200 1864
>>
>> Aunque está el post /imprimir con el código 302, no redirecciona.
>>
>>
>> El mar., 12 feb. 2019 a las 13:32, Leandro Moreno (<
>> moreno.leandro.g en gmail.com>) escribió:
>>
>>> Hola hno.
>>>
>>> Estoy casi seguro que eso lo podes hacer desde redirects en las vistas
>>> de Django. Asumo que estas usando el sistema de templates de django, ya que
>>> no mencionaste nada de un framework en el frontend. En ese caso, podes
>>> hacer que el boton mande un post a la vista django y que la vista django
>>> sea quien te redirije a la proxima pagina.
>>>
>>> Hace mucho no laburo con templates de django, pero por ahi va la mano.
>>>
>>>
>>>
>>> Leandro Moreno
>>> Full Stack Developer
>>>
>>>
>>> El mar., 12 feb. 2019 a las 12:43, Santiago Paleka (<
>>> santiagopaleka en gmail.com>) escribió:
>>>
>>>> Hola Lista,
>>>>
>>>> Estoy usando django por primera vez y no tengo experiencia en
>>>> programación web.
>>>> La consulta en realidad es más de html/js que python.
>>>> Necesito hacer lo siguiente:
>>>> Tengo una página generada con django que me muestra una tabla (usando
>>>> datatables).
>>>> El usuario puede seleccionar varios items de esta tabla y cuando
>>>> presione un botón, los datos seleccionados, se envían por post a otra view
>>>> que usa esos datos.
>>>> En ese momento necesito redireccionar la página hacia otra que usa los
>>>> datos de los items seleccionados.
>>>>
>>>> Los datos que el usuario seleccionó, los tengo ya en una variable de js.
>>>> Lo que hago actualmente para enviar los datos es (con jquery):
>>>>
>>>> $.post("{% url 'imprimir' %}", variableItems );
>>>>
>>>> Con esto veo que se envían los datos por POST a la vista 'imprimir',
>>>> pero no sé como hacer para que la página se redireccione hacia la nueva
>>>> página que utiliza los datos enviados.
>>>> Todos los ejemplos que veo usan form, pero yo no tengo un form.
>>>> Tengo que crear un form y con javascript cargarle los datos que quiero
>>>> y hacer el submit?
>>>>
>>>> Estoy muy perdido....
>>>>
>>>> Saludos.
>>>>
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
Saludos.
David.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190212/14c32121/attachment.html>


Más información sobre la lista de distribución pyar