Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- from flask import Flask, jsonify, request
- app = Flask(__name__)
- """
- alumnos = [
- {'id':1, 'nombre':'Luisa', 'cursos':6},
- {'id':2, 'nombre':'Ana', 'cursos':2},
- {'id':3, 'nombre':'Roque', 'cursos':3},
- ]
- """
- alumnos = []
- @app.route('/')
- def home():
- return "HOME"
- @app.route('/alumno', methods=['GET','POST','PUT','DELETE'])
- def alumno():
- if request.method == "GET":
- return jsonify({'alumnos': alumnos})
- elif request.method == "POST":
- if not alumnos:
- codigo = 1
- else:
- codigo = alumnos[-1]['id'] + 1
- alumno = {
- 'id':codigo,
- 'nombre':request.json['nombre'],
- 'cursos':request.json['cursos'],
- }
- alumnos.append(alumno)
- return jsonify ("Alumno añadido")
- elif request.method == "PUT":
- id_alumno = request.json['id']
- for alumno in alumnos:
- if id_alumno == alumno.get('id'):
- if request.json['nombre'] is not None:
- alumno['nombre'] = request.json['nombre']
- if request.json['cursos'] is not None:
- alumno['cursos'] = request.json['cursos']
- return jsonify("Datos modificados")
- return jsonify("ID del alumno no encontrado")
- elif request.method == "DELETE":
- id_alumno = request.json['id']
- for alumno in alumnos:
- if id_alumno == alumno.get('id'):
- alumnos.remove(alumno)
- return jsonify("Alumno borrado")
- return jsonify("Alumno no encontrado")
- @app.route('/alumno/<int:i>')
- def student(i):
- try:
- return jsonify({'alumno': alumnos[i-1]})
- except:
- return jsonify("Alumno no encontrado")
- @app.route("/administrativo")
- def administrativo():
- return "Sección de administrativos"
- @app.route("/instructores")
- def instructor():
- return "Sección de instructores"
- if __name__ == '__main__':
- app.run(debug=True)
- # (LINUX)
- # export FLASK_APP = webserver.py
- # flask RUN
- # >> * Running on http://127.0.0.1:5000/
- # (WINDOWS)
- # C: <path a la app> set FLASK_APP=webserver.py
- # python -m flask run o flask run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement