Advertisement
teslariu

webserver Flask

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