Advertisement
teslariu

webs

Aug 28th, 2021
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.24 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. from flask import Flask, jsonify, request
  5.  
  6. app = Flask(__name__)
  7. """
  8. alumnos = [{'id':1, 'nombre':"Luis", 'cursos':3},
  9.            {'id':2, 'nombre':"Ana", 'cursos':1}]
  10. """
  11.  
  12. alumnos = []
  13.  
  14. @app.route('/')
  15. def home():
  16.     return "HOME"
  17.  
  18. @app.route('/alumno', methods = ['GET', 'PUT', 'POST', 'DELETE'])
  19. def alumnos():
  20.    
  21.     if request.method == 'GET':
  22.         return jsonify({'alumnos':alumnos})
  23.    
  24.     elif request.method == 'POST':
  25.         if not alumnos:
  26.             codigo = 1
  27.         else:
  28.             codigo = alumnos[-1]['id'] + 1
  29.         alumno = {
  30.             'id': codigo,
  31.             'nombre': request.json['nombre'],
  32.             'cursos': request.json['cursos'],
  33.             }
  34.         alumnos.append(alumno)
  35.         return jsonify('Alumno añadido')
  36.        
  37.     elif request.method == 'PUT':
  38.         id_alumno = request.json['id']
  39.         for alumno in alumnos:
  40.             if id_alumno == alumno.get('id'):
  41.                 if request.json['nombre'] is not None:
  42.                     alumno['nombre'] = request.json['nombre']
  43.                 if request.json['cursos'] is not None:
  44.                     alumno['cursos'] = request.json['cursos']
  45.                 return jsonify("Datos modificados")
  46.         return jsonify("ID de alumno no encontrado")
  47.        
  48.     elif request.method == "DELETE":
  49.         id_alumno = request.json['id']
  50.         for alumno in alumnos:
  51.             if id_alumno == alumno.get('id'):
  52.                 alumnos.remove(alumno)
  53.                 return jsonify("Alumno borrado")
  54.         return jsonify("ID de alumno no encontrado")
  55.        
  56. @app.route('/alumno/<int:i>')
  57. def alumno(i):
  58.     try:
  59.         return jsonify({'alumno':alumnos[i-1]})
  60.     except IndexError:
  61.         return jsonify("No existe el alumno")
  62.        
  63. @app.route('/instructor')
  64. def instructor():
  65.     return "Sección de instructores"
  66.        
  67.    
  68. @app.route('/administrativo')
  69. def administrativo():
  70.     return "Sección de administrativos"
  71.  
  72. if __name__ == '__main__':
  73.     app.run(debug = True)
  74.                
  75. # LINUX
  76. # export FLASK_APP=webserver.py
  77. # flask run
  78.  
  79. # Windows      
  80. # set FLASK_APP=webserver.py
  81. # python -m flask run          
  82.        
  83.        
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement