Flask és un microframework per al desenvolupament web en Python. És lleuger i flexible, i permet als desenvolupadors crear aplicacions web ràpidament. En aquesta secció, aprendrem els conceptes bàsics de Flask, com configurar un projecte i crear una aplicació web senzilla.

  1. Instal·lació de Flask

Abans de començar a treballar amb Flask, necessitem instal·lar-lo. Utilitzarem pip, el gestor de paquets de Python, per fer-ho.

pip install Flask

  1. Creació d'una Aplicació Bàsica en Flask

Un cop instal·lat Flask, podem crear la nostra primera aplicació. A continuació es mostra un exemple senzill d'una aplicació Flask:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hola, món!"

if __name__ == '__main__':
    app.run(debug=True)

Explicació del Codi

  1. Importació de Flask: Importem la classe Flask del paquet flask.
  2. Creació de l'Aplicació: Creem una instància de l'aplicació Flask.
  3. Definició de Rutes: Utilitzem el decorador @app.route('/') per definir una ruta. En aquest cas, la ruta és la pàgina principal ('/').
  4. Funció de Vista: Definim una funció home que retorna un missatge "Hola, món!" quan es visita la pàgina principal.
  5. Execució de l'Aplicació: Utilitzem app.run(debug=True) per executar l'aplicació en mode de depuració.

  1. Rutes i Mètodes HTTP

Flask permet definir rutes per a diferents URL i mètodes HTTP (GET, POST, etc.). A continuació es mostra com definir rutes amb diferents mètodes HTTP:

from flask import Flask, request

app = Flask(__name__)

@app.route('/get', methods=['GET'])
def get_example():
    return "Aquesta és una sol·licitud GET"

@app.route('/post', methods=['POST'])
def post_example():
    data = request.form['data']
    return f"Aquesta és una sol·licitud POST amb dades: {data}"

if __name__ == '__main__':
    app.run(debug=True)

Explicació del Codi

  1. Importació de request: Importem l'objecte request de Flask per accedir a les dades de la sol·licitud.
  2. Definició de Rutes amb Mètodes HTTP: Utilitzem el paràmetre methods en el decorador @app.route per especificar els mètodes HTTP permesos per a la ruta.
  3. Accés a les Dades de la Sol·licitud: Utilitzem request.form per accedir a les dades enviades en una sol·licitud POST.

  1. Plantilles amb Jinja2

Flask utilitza Jinja2 com a motor de plantilles per generar HTML dinàmic. A continuació es mostra com utilitzar plantilles en Flask:

Creació d'una Plantilla HTML

Creem un fitxer templates/index.html amb el següent contingut:

<!DOCTYPE html>
<html lang="ca">
<head>
    <meta charset="UTF-8">
    <title>Exemple de Flask</title>
</head>
<body>
    <h1>{{ missatge }}</h1>
</body>
</html>

Utilització de la Plantilla en Flask

Modifiquem el nostre codi Flask per utilitzar la plantilla:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    missatge = "Hola, món des de Flask!"
    return render_template('index.html', missatge=missatge)

if __name__ == '__main__':
    app.run(debug=True)

Explicació del Codi

  1. Importació de render_template: Importem la funció render_template de Flask per renderitzar plantilles.
  2. Renderització de la Plantilla: Utilitzem render_template('index.html', missatge=missatge) per renderitzar la plantilla index.html i passar-hi la variable missatge.

  1. Exercicis Pràctics

Exercici 1: Creació d'una Ruta Addicional

Crea una ruta /about que retorni un missatge "Aquesta és la pàgina About".

Solució

@app.route('/about')
def about():
    return "Aquesta és la pàgina About"

Exercici 2: Utilització de Plantilles

Crea una plantilla about.html que mostri un missatge passat des de la funció de vista.

Solució

  1. Creació de la Plantilla about.html:
<!DOCTYPE html>
<html lang="ca">
<head>
    <meta charset="UTF-8">
    <title>About</title>
</head>
<body>
    <h1>{{ missatge }}</h1>
</body>
</html>
  1. Modificació del Codi Flask:
@app.route('/about')
def about():
    missatge = "Aquesta és la pàgina About"
    return render_template('about.html', missatge=missatge)

Conclusió

En aquesta secció, hem après els conceptes bàsics de Flask, incloent-hi la instal·lació, la creació d'una aplicació bàsica, la definició de rutes i mètodes HTTP, i l'ús de plantilles amb Jinja2. Aquests fonaments ens preparen per a construir aplicacions web més complexes amb Flask. En la propera secció, explorarem com construir APIs REST amb Flask.

Curs de Programació en Python

Mòdul 1: Introducció a Python

Mòdul 2: Estructures de Control

Mòdul 3: Funcions i Mòduls

Mòdul 4: Estructures de Dades

Mòdul 5: Programació Orientada a Objectes

Mòdul 6: Gestió de Fitxers

Mòdul 7: Gestió d'Errors i Excepcions

Mòdul 8: Temes Avançats

Mòdul 9: Proves i Depuració

Mòdul 10: Desenvolupament Web amb Python

Mòdul 11: Ciència de Dades amb Python

Mòdul 12: Projecte Final

© Copyright 2024. Tots els drets reservats