Advertisement
teslariu

server

Mar 6th, 2021
121
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. #
  4. from flask import Flask, jsonify, request
  5.  
  6. app = Flask(__name__)
  7.  
  8. """
  9. alumnos = [{'id':1, 'nombre':'Ana', 'cursos':4},
  10.            {'id':2, 'nombre':'Luis', 'cursos':2},
  11.            {'id:'3, 'nombre':'Pepe', 'cursos':1}
  12.            ]
  13. """
  14. alumnos = []
  15.  
  16. @app.route('/')
  17. def home():
  18.     return "BIENVENIDOS A MI WEB"
  19.    
  20. @app.route("/alumno", methods = ['GET','POST','PUT','DELETE'])
  21. def alumno():
  22.    
  23.     if request.method == "GET":
  24.         return jsonify({'alumnos':alumnos})
  25.        
  26.        
  27.     elif request.method == "POST":
  28.         if not alumnos:
  29.             id_alumno = 1
  30.         else:
  31.             id_alumno = alumnos[-1]['id'] + 1
  32.         alumno = {
  33.                 'id': id_alumno,
  34.                 'nombre': request.json['nombre'],
  35.                 'cursos': request.json['cursos']
  36.         }
  37.         alumnos.append(alumno)
  38.         return jsonify("Alumno añadido")
  39.        
  40.        
  41.     elif request.method == "PUT":
  42.         id_alumno = request.json['id']
  43.         for alumno in alumnos:
  44.             if id_alumno == alumno.get('id'):
  45.                 if request.json['nombre'] is not None:
  46.                     alumno['nombre'] = request.json['nombre']
  47.                 if request.json['cursos'] is not None:
  48.                     alumno['cursos'] = request.json['cursos']
  49.                 return jsonify(f"Datos del alumno {id_alumno} modificados")
  50.         return jsonify(f"ID {id_alumno} no encontrado")
  51.        
  52.  
  53.     elif request.method == "DELETE":
  54.         id_alumno = request.json['id']
  55.         for alumno in alumnos:
  56.             if id_alumno == alumno.get('id'):
  57.                 alumnos.remove(alumno)
  58.                 return jsonify(f"Alumno {id_alumno} borrado")
  59.         return jsonify(f"ID {id_alumno} no encontrado")
  60.        
  61. @app.route('/alumno/<int:i>')
  62. def student(i):
  63.     try:
  64.         return jsonify({'alumno':alumnos[i-1]})
  65.     except IndexError:
  66.         return jsonify(f"No existe el ID {i}")
  67.        
  68. @app.route('/admin')
  69. def admin():
  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. # primero navegamos hasta la ruta donde está webserver.py
  81. # set FLASK_APP=webserver.py
  82. # python -m flask run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement