[pyar] Realizar un POST al apretar un botón - Django

Andrés Ramírez andres.ramirez.miori en gmail.com
Vie Oct 4 13:58:35 -03 2019


lo que te muetra la consola de django es la respuesta, la view tiene que
responder un HttResponse, que puede tener data de la respuesta del request
algo del tipo:

response = requests.request("POST", urladd, headers=headers)
data = get_data_from_response(response)

return HttpResponse(data, mimetype='application/json')


On Thu, Oct 3, 2019 at 2:37 PM Augusto <adtononi en gmail.com> wrote:

> Si, perdón por eso.
>
> La consola de Django me muestra lo siguiente:
>
>> ValueError: The view web_ejes.views.AgregarFavorito didn't return an
>> HttpResponse object. It returned None instead.
>>
>
> Y la consola del navegador me muestra lo siguiente:
>
>> jquery.min.js:2 POST http://192.168.1.88:8000/noticia/addfavoritos/ 500
>> (Internal Server Error)
>>
>
> El jue., 3 oct. 2019 a las 14:30, Leandro Moreno (<
> moreno.leandro.g en gmail.com>) escribió:
>
>> Hola Augusto.
>>
>> Creo que estas teniendo problemas en ver los errores que estas
>> recibiendo. Desde la consola del navegador, si clickeas en el response, vas
>> a poder ver el error message del mismo. Tambien vas a poder ver el error en
>> la consola donde tengas corriendo Django. Los errores 500 son INTERNAL
>> SERVER ERROR, que siempre está relacionado a algo que no está funcionando
>> en el Backend.
>>
>> Intentá analizar un poco mas lo que te está sucediendo ahi, porque sin
>> informacion sobre los errores que obtenes, es muy dificil darte una mano.
>>
>>
>> Saludos.
>>
>>
>>
>>
>>
>> Leandro Moreno
>> Full Stack Developer
>>
>>
>> El jue., 3 oct. 2019 a las 14:24, Augusto (<adtononi en gmail.com>)
>> escribió:
>>
>>> Gente, sigo teniendo problemas. Ahora tengo el siguiente código:
>>>
>>>> $.ajax({
>>>>         url: 'addfavoritos/',
>>>>         type: 'POST',
>>>>         data: JSON.stringify({'token': '{{api_noticia.token}}',
>>>> 'id_noticia':'{{api_noticia.ejes_content.id_noticia}}'}),
>>>>         dataType: 'json',
>>>>         success:function(response){
>>>>             alert('Se agrego');
>>>>         },
>>>>         error:function(response){
>>>>             alert('No se pudo agregar');
>>>>         }
>>>>       })
>>>>     }
>>>>
>>> y en views.py:
>>>
>>>> class AgregarFavorito(View):
>>>>     def post(self, request, *args, **kwargs):
>>>>
>>>>         token = request.POST.get('token')
>>>>         id_noticia = request.POST.get('id_noticia')
>>>>         urladd = f'
>>>> https://mobileapp.xxxx.com/api/v1/favoritos-agregar?token={token}&id_noticia={id_noticia}
>>>> '
>>>>
>>>>         headers = {'cache-control': "no-cache"}
>>>>
>>>>         requests.request("POST", urladd, headers=headers)
>>>>
>>>
>>> Cuando hago click para hacer el post, me tira error 500 en la consola
>>> del navegador. Qué estoy haciendo mal?
>>>
>>> PD: el csrftoken lo seteo antes de mi función, con el código que esta en
>>> la doc
>>>
>>> El mié., 2 oct. 2019 a las 16:47, Augusto (<adtononi en gmail.com>)
>>> escribió:
>>>
>>>> Ah perfecto, muchas gracias!
>>>>
>>>> El mié., 2 oct. 2019 16:39, Andrés Ramírez <
>>>> andres.ramirez.miori en gmail.com> escribió:
>>>>
>>>>> Si es un proyecto Django, tal como definis una url y una view para
>>>>> actuar cuando alguien accede a esa url, lo haces para esto
>>>>> path('favoritos-agregar <https://xxxxxxx.com/api/v1/favoritos-agregar>'/',
>>>>> AgregarFavoritoView.as_view(), name='favoritos'),
>>>>>
>>>>>
>>>>> class AgregarFavoritoView(View):
>>>>>     def post(self, request, *args, **kwargs):
>>>>>         data = contruir_data
>>>>>
>>>>>         response = request.post('https://xxxxxxx.com/api/v1/favoritos-agregar',....
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Oct 2, 2019 at 4:24 PM Augusto <adtononi en gmail.com> wrote:
>>>>>
>>>>>> Andrés, justamente eso estaba pensando, delegarlo a Python. Pero
>>>>>> estoy perdido, donde debería ir el .py? Teniendo en cuenta que es un
>>>>>> projecto de Django.
>>>>>> Además, no debería utilizar solo el campo URL en la llamada de Ajax?
>>>>>>
>>>>>> El mié., 2 oct. 2019 a las 16:20, Juan Carizza (<
>>>>>> juan.carizza en gmail.com>) escribió:
>>>>>>
>>>>>>> Augusto, el error que describe es que la vista que estas creando
>>>>>>> (seguramente con RDF) no soporta el metodo POST. Fijate en la doc como
>>>>>>> hacer para especificar que tu vista soporte POST.
>>>>>>>
>>>>>>> El mié., 2 de oct. de 2019 a la(s) 16:12, Augusto (
>>>>>>> adtononi en gmail.com) escribió:
>>>>>>>
>>>>>>>> Sigue tirando el mismo error
>>>>>>>>
>>>>>>>> El mié., 2 oct. 2019 a las 16:10, Damián Castro (<ltdicai en gmail.com>)
>>>>>>>> escribió:
>>>>>>>>
>>>>>>>>> En vez de dataType: 'jsonp' poné dataType: 'json', JSONP es otro
>>>>>>>>> protocolo.
>>>>>>>>>
>>>>>>>>> El mié., 2 de oct. de 2019 a la(s) 16:08, Augusto (
>>>>>>>>> adtononi en gmail.com) escribió:
>>>>>>>>>
>>>>>>>>>> Buenas.
>>>>>>>>>>
>>>>>>>>>> Versión 3.X
>>>>>>>>>> El error que tira es el siguiente:
>>>>>>>>>>
>>>>>>>>>>> GET
>>>>>>>>>>> https://xxxxxxx.ejes.com/api/v1/favoritos-agregar?callback=jQuery33108018828704221141_1570043177188&token=%7B%7Bapi_noticia.token%7D%7D&id_noticia=%7B%7Bapi_noticia.ejes_content.id_noticia%7D%7D&_=1570043177189
>>>>>>>>>>> net::ERR_ABORTED 405 (Method Not Allowed)
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> El mié., 2 oct. 2019 a las 16:03, Ricardo Gustavo Miranda (<
>>>>>>>>>> ricardo.gm.85 en gmail.com>) escribió:
>>>>>>>>>>
>>>>>>>>>>> Hola.
>>>>>>>>>>> ¿Qué versiòn de jQuery estás usando?
>>>>>>>>>>> ¿Te has fijado en el log de la parte de Network en las
>>>>>>>>>>> herramientas de desarrollo del browser para ver con qué método está
>>>>>>>>>>> enviando efectivamente?
>>>>>>>>>>>
>>>>>>>>>>> El mié., 2 oct. 2019 a las 15:53, Augusto (<adtononi en gmail.com>)
>>>>>>>>>>> escribió:
>>>>>>>>>>>
>>>>>>>>>>>> Buenas, estoy teniendo dificultades para poder realizar un
>>>>>>>>>>>> post. Tengo lo siguiente en Ajax
>>>>>>>>>>>>
>>>>>>>>>>>>> $.ajax({
>>>>>>>>>>>>>         url: 'https://xxxxxxx.com/api/v1/favoritos-agregar',
>>>>>>>>>>>>>         type: 'POST',
>>>>>>>>>>>>>         data: {token: '{{api_noticia.token}}',
>>>>>>>>>>>>> id_noticia:'{{api_noticia.id_noticia}}'},
>>>>>>>>>>>>>         dataType: 'jsonp',
>>>>>>>>>>>>>         success:function(response){
>>>>>>>>>>>>>             alert('Se agrego');
>>>>>>>>>>>>>         },
>>>>>>>>>>>>>         error:function(response){
>>>>>>>>>>>>>             alert('No se pudo agregar');
>>>>>>>>>>>>>         }
>>>>>>>>>>>>>       })
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Pero me tira siempre el error 405. Me dijeron que me conviene
>>>>>>>>>>>> realizar el POST desde Python, pero no tengo idea de como integrarlo
>>>>>>>>>>>> después en el template.
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> 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
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Ricardo Miranda
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> 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
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>
>> _______________________________________________
>> 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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20191004/6394db1c/attachment-0001.html>


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