Advertisement
teslariu

Untitled

Dec 10th, 2020
74
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.31 KB | None
  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 = [
  10.    {'id':1, 'nombre':'Luisa', 'cursos':6},
  11.    {'id':2, 'nombre':'Ana', 'cursos':2},
  12.    {'id':3, 'nombre':'Roque', 'cursos':3},
  13.    ]
  14.  
  15. """
  16. alumnos = []
  17.  
  18. @app.route('/')
  19. def home():
  20.     return "HOME"
  21.    
  22. @app.route('/alumno', methods=['GET','POST','PUT','DELETE'])
  23. def alumno():
  24.    
  25.     if request.method == "GET":
  26.         return jsonify({'alumnos': alumnos})
  27.        
  28.     elif request.method == "POST":
  29.         if not alumnos:
  30.             codigo = 1
  31.         else:
  32.             codigo = alumnos[-1]['id'] + 1
  33.         alumno = {
  34.             'id':codigo,
  35.             'nombre':request.json['nombre'],
  36.             'cursos':request.json['cursos'],
  37.             }
  38.         alumnos.append(alumno)
  39.         return jsonify ("Alumno añadido")
  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("Datos modificados")
  50.         return jsonify("ID del alumno no encontrado")
  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("Alumno borrado")
  58.         return jsonify("Alumno no encontrado")
  59.        
  60. @app.route('/alumno/<int:i>')
  61. def student(i):
  62.     try:
  63.         return jsonify({'alumno': alumnos[i-1]})
  64.     except:
  65.         return jsonify("Alumno no encontrado")
  66.        
  67. @app.route("/administrativo")
  68. def administrativo():
  69.     return "Sección de administrativos"
  70.    
  71. @app.route("/instructores")
  72. def instructor():
  73.     return "Sección de instructores"
  74.    
  75. if __name__ == '__main__':
  76.     app.run(debug=True)
  77.    
  78. # (LINUX)
  79. # export FLASK_APP = webserver.py
  80. # flask RUN
  81. # >> * Running on http://127.0.0.1:5000/
  82.  
  83. # (WINDOWS)
  84. # C: <path a la app> set FLASK_APP=webserver.py
  85. # python -m flask run  o flask run
  86.  
Advertisement
RAW Paste Data Copied
Advertisement