[pyar] Realizar un POST al apretar un botón - Django
Augusto
adtononi en gmail.com
Vie Oct 4 14:07:18 -03 2019
Lo pude solucionar, sin embargo en la consola de django me sigue tirando el
error aunque el POST lo hace igual.
El vie., 4 oct. 2019 13:58, Andrés Ramírez <andres.ramirez.miori en gmail.com>
escribió:
> 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
>
> _______________________________________________
> 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/1a2037ed/attachment-0001.html>
Más información sobre la lista de distribución pyar