teslariu

webserver FLASK

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