teslariu

serv

Aug 7th, 2021
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.28 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 = [
  8.            {'id':1, 'nombre':'Ale', 'cursos':3},
  9.            {'id':2, 'nombre':'Juana', 'cursos':5},
  10.            {'id':3, 'nombre':'Luisa', 'cursos':1},
  11.        ]
  12.  
  13. """
  14.  
  15. alumnos = []
  16.  
  17. @app.route('/')
  18. def home():
  19.     return "HOME"
  20.    
  21. @app.route('/alumno', methods=['GET','POST','PUT','DELETE'])
  22. def alumno():
  23.    
  24.     if request.method == "GET":
  25.         return jsonify({'alumnos':alumnos})
  26.        
  27.     elif request.method == "POST":
  28.         if not alumnos:
  29.             ID = 1
  30.         else:
  31.             ID = alumnos[-1]['id'] + 1
  32.         alumno = {
  33.             'id': ID,
  34.             'nombre': request.json['nombre'],
  35.             'cursos': request.json['cursos'],
  36.         }
  37.         alumnos.append(alumno)
  38.         return jsonify("Alumno añadido correctamente")
  39.        
  40.     elif request.method == "PUT":
  41.         id_alumno = request.json['id']
  42.         for alumno in alumnos:
  43.             if id_alumno == alumno.get('id'):
  44.                 if request.json['nombre'] is not None:
  45.                     alumno['nombre'] = request.json['nombre']
  46.                 if request.json['cursos'] is not None:
  47.                     alumno['cursos'] = request.json['cursos']
  48.                 return jsonify("Datos modificados")
  49.         return jsonify(f"ID {id_alumno} no hallado")
  50.        
  51.        
  52.     elif request.method == "DELETE":
  53.         id_alumno = request.json['id']
  54.         for alumno in alumnos:
  55.             if id_alumno == alumno.get('id'):
  56.                 alumnos.remove(alumno)
  57.                 return jsonify(f"ID {id_alumno} eliminado")
  58.         return jsonify(f"ID {id_alumno} no hallado")
  59.        
  60.        
  61. @app.route('/alumno/<int:i>')
  62. def estudiante(i):
  63.     try:
  64.         return jsonify({'alumno':alumnos[i-1]})
  65.     except IndexError:
  66.         return jsonify(f"ID {i} no hallado")
  67.        
  68. @app.route('/instructor')
  69. def instructor():
  70.     return "En construcción"
  71.    
  72. @app.route('/admin')
  73. def admin():
  74.     return "En construcción"
  75.    
  76. if __name__ == '__main__':
  77.     app.run(debug=True)
  78.    
  79. # LINUX
  80. # export FLASK_APP=webserver.py
  81. # flask run        
  82.  
  83. # WINDOWS
  84. # set FLASK_APP=webserver.py
  85. # python -m flask run  
  86.                
Advertisement
Add Comment
Please, Sign In to add comment