Diferencia entre revisiones de «Flask: guía rápida»

De nuxpy
Ir a la navegación Ir a la búsqueda
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
El artículo a continuación guarda ciertas referencias rápidas para el uso de ''Flask''.
 
El artículo a continuación guarda ciertas referencias rápidas para el uso de ''Flask''.
= route =
 
= url_for =
 
 
 
= request =
 
= request =
 
Para usar esta función o método de ''Flask'' se debe importar de la siguiente manera:
 
Para usar esta función o método de ''Flask'' se debe importar de la siguiente manera:
Línea 26: Línea 23:
 
if request.method == 'POST':
 
if request.method == 'POST':
 
     print(request.method)
 
     print(request.method)
 +
</syntaxhighlight>
 +
= route =
 +
Este método decorador permite crear una ruta de una vista del sistema. El patrón es el siguiente:
 +
<syntaxhighlight lang="python">
 +
@app.route('/index', methods=['GET'])
 +
def index():
 +
    return render_template('template/index.html')
 +
</syntaxhighlight>
 +
Viene integrado por defecto en la clase que corresponde al nombre de la aplicación según se instancia la clase principal de ''Flask''.
 +
 +
El método se puede sustituir [https://developer.mozilla.org/es/docs/Web/HTTP/Methods según el método ''request''] que se desea usar. En el caso anterior solo se ha agregado '''GET''', pero se puede incluir tantos métodos sean necesarios para dicha vista, ejemplo:
 +
<syntaxhighlight lang="python">
 +
@app.route('/usuario-nuevo', methods=['GET', 'POST'])
 +
def usuario_nuevo():
 +
    if request.method == 'POST':
 +
        flash('Ha entrado en el POST')
 +
    return render_template('template/usuario_nuevo.html')
 +
</syntaxhighlight>
 +
Así si se desea usar la misma función para mostrar y crear formulario usando '''GET''' y '''POST''' según el ''request'', entonces el sistema valora la petición y la usa según el caso, igualmente se añaden ciertas condiciones según lo que requiera la aplicación en determinado momento.
 +
 +
= url_for =
 +
Esta función construye una ''URL'' según el parámetro insertado como primer argumento. Por ejemplo:
 +
<syntaxhighlight lang="python">
 +
url_for('index')
 +
</syntaxhighlight>
 +
Buscará la vista o función que corresponda a '''index''' en el sistema base, si la declaración de la ruta de dicha función ha sido:
 +
<syntaxhighlight lang="python">
 +
@app.route('/index', methods=['GET'])
 +
def index():
 +
    ...
 +
</syntaxhighlight>
 +
Entonces en el código del ''frontend'', en el atributo '''href''' de una etiqueta '''a''' de ''HTML'' se verá algo parecido a lo siguiente:
 +
<syntaxhighlight lang="html">
 +
<a href="/index">Index</a>
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisión del 01:55 21 ene 2023

El artículo a continuación guarda ciertas referencias rápidas para el uso de Flask.

request

Para usar esta función o método de Flask se debe importar de la siguiente manera:

# -*- coding: utf-8 -*-

from flask import request

Evaluando método

Con request se puede evaluar el método obtenido de un formulario después del submit, por ejemplo:

print(request.method)

Dependiendo del caso mostrando el método obtenido, entre los más usados:

   GET
   POST
   DELETE
   PUT

Así que se puede usar en una condición tal como:

if request.method == 'POST':
    print(request.method)

route

Este método decorador permite crear una ruta de una vista del sistema. El patrón es el siguiente:

@app.route('/index', methods=['GET'])
def index():
    return render_template('template/index.html')

Viene integrado por defecto en la clase que corresponde al nombre de la aplicación según se instancia la clase principal de Flask.

El método se puede sustituir según el método request que se desea usar. En el caso anterior solo se ha agregado GET, pero se puede incluir tantos métodos sean necesarios para dicha vista, ejemplo:

@app.route('/usuario-nuevo', methods=['GET', 'POST'])
def usuario_nuevo():
    if request.method == 'POST':
        flash('Ha entrado en el POST')
    return render_template('template/usuario_nuevo.html')

Así si se desea usar la misma función para mostrar y crear formulario usando GET y POST según el request, entonces el sistema valora la petición y la usa según el caso, igualmente se añaden ciertas condiciones según lo que requiera la aplicación en determinado momento.

url_for

Esta función construye una URL según el parámetro insertado como primer argumento. Por ejemplo:

url_for('index')

Buscará la vista o función que corresponda a index en el sistema base, si la declaración de la ruta de dicha función ha sido:

@app.route('/index', methods=['GET'])
def index():
    ...

Entonces en el código del frontend, en el atributo href de una etiqueta a de HTML se verá algo parecido a lo siguiente:

<a href="/index">Index</a>

redirect

Temas relacionados