User Tools

Site Tools


apuntes:servicios_web

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
apuntes:servicios_web [2018/03/01 16:21] – [Consumir un servicio web desde Django] Santiago Faciapuntes:servicios_web [2019/01/04 13:22] – external edit 127.0.0.1
Line 363: Line 363:
 </file> </file>
  
-En nuestro caso vamos a concectar con un servicio web que ofrece datos sobre opiniones de usuarios de forma que obtenemos, entre otros, un titulo, un texto y una puntuación. Entonces crearemos un modelo de datos ''Opinion'' para almacenar dicha información en forma de objeto.+En nuestro caso vamos a concectar con un servicio web que ofrece datos sobre opiniones de usuarios de forma que obtenemos, entre otros, un titulo, un texto y una puntuación. Entonces crearemos un modelo de datos ''Opinion'' para almacenar dicha información en forma de objeto (suponemos, para este ejemplo, que guardamos en las opiniones el título de la pelicula de dicha opinion, por lo que en el servicio web que hicieramos también deberíamos añadirlo. En el ejemplo de clase no aparece).
  
 <file python models.py> <file python models.py>
Line 387: Line 387:
         model = Opinion         model = Opinion
 </file> </file>
 +
 +Desde Django podríamos acceder al servicio web para listar todas las opiniones:
  
 <file python views.py> <file python views.py>
Line 392: Line 394:
 . . . . . .
 def opiniones(request): def opiniones(request):
-    ws = requests.get('http://localhost:8080/opiniones)+    ws = requests.get('http://localhost:8080/opiniones')
     json = ws.json()     json = ws.json()
     serializer = OpinionSerializer(data=json, many=True)     serializer = OpinionSerializer(data=json, many=True)
     if serializer.is_valid():     if serializer.is_valid():
         lista_opiniones = serializer.save()         lista_opiniones = serializer.save()
-        context = {'lista_opiniones': lista_opiniones, 'pelicula': pelicula}+        context = {'lista_opiniones': lista_opiniones}
         return render(request, 'peliculas/opiniones.html', context)         return render(request, 'peliculas/opiniones.html', context)
     else:     else:
Line 405: Line 407:
 . . . . . .
 </file> </file>
 +
 +O bien acceder a las opiniones para una pelicula determinada, pasando como parámetro el nombre de la película (en este caso):
  
 <file python views.py> <file python views.py>
apuntes/servicios_web.txt · Last modified: 2021/10/21 06:56 by Santiago Faci