[ES] Después abrir en tu navegador favorito, que posiblemente será el fantástico Firefox, una pestaña nueva con [http://127.0.0.1:5000](http://127.0.0.1:5000)
[EN] Template Flask. We created a new file called **app.py**.
[ES] Plantilla Flask. Creamos un nuevo archivo llamado **app.py**.
```python3
from flask import Flask
# Flask
app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'mi secreto'
@app.route('/')
def buscador():
return 'Hello PyConES17 !!!'
if __name__ == '__main__':
app.run()
```
[EN] We run and check that everything works.
[ES] Ejecutamos y comprobamos que todo funciona.
```bash
python3 app.py
```
```bash
http://127.0.0.1:5000
```
#### 1.2 Templates
[EN] We created a folder called **templates**. Inside we make two more folders: **layouts** and **items**. In **layouts** we will make a new one with the name **master.html**.
[ES] Creamos una carpeta llamada **templates**. Dentro dos más: **layouts** y **items**. En **layouts** haremos uno nuevo con el nombre **master.html**.
```jinja2
<!DOCTYPE html>
<htmllang="es">
<head>
<title>{% block title %}{% endblock %} | Vigilador de Wallapop</title>
[EN] In **items** we are going to have our first real page that will inherit from **master.html**. Within **items** we create **searcher.html**.
[ES] En **items** vamos a tener nuestra primera página real que va a heredar de **master.html**. Dentro de **items** creamos **buscador.html**.
```jinja2
{% extends 'layouts/master.html' %}
{% set active_page = "buscador" %}
{% block title %}Buscador{% endblock %}
{% block body %}
<h1>Buscador</h1>
{% endblock %}
```
[EN] You update **app.py** to work with our template engine.
[ES] Actulizamos **app.py** para que trabaje nuestro motor de plantillas.
```python3
from flask import Flask, render_template
# Flask
app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'mi secreto'
@app.route('/')
def buscador():
return render_template('items/buscador.html')
if __name__ == '__main__':
app.run()
```
[EN] We create the second page where we will have our searches stored. Within **items** we create a new file with the name of **programadas.html**.
[ES] Creamos la segunda página donde tendremos nuestras busquedas almacenadas. Dentro de **items** creamos un fichero nuevo con el nombre de **programadas.html**.
```jinja2
{% extends 'layouts/master.html' %}
{% set active_page = "programadas" %}
{% block title %}Programadas{% endblock %}
{% block body %}
<h1>Soy la página donde estará las programadas</h1>
{% endblock %}
```
[EN] We update **app.py** with the new page.
[ES] Actulizamos **app.py** con la nueva página.
```python3
from flask import Flask, render_template
# Flask
app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'mi secreto'
@app.route('/')
def buscador():
return render_template('items/buscador.html')
@app.route('/programadas')
def programadas():
return render_template('items/programadas.html')
if __name__ == '__main__':
app.run()
```
[EN] As a final detail we will make our browser buttons have the correct routes.
[ES] Como último detalle haremos que nuestros botones del navegador tengan las rutas correctas.
```jinja2
<!DOCTYPE html>
<htmllang="es">
<head>
<title>{% block title %}{% endblock %} | Vigilador de Wallapop</title>
[EN] It's time for fun. First we update our **app.py** to get the form data if you pass the validations. Then, with that information, we will make a call to the Wallapop API. We will only need the URL that they use in your APP. With **urllib3** we will have all the results in a simple dictionary. Which is great, since it is easy to iterate within our template.
[ES] Ha llegado la hora de lo divertido. Primero actulizamos nuestro **app.py** para obtener los datos del formulario si pasa las validaciones. Después, con esa información, haremos una llamada al API de Wallapop. Solo necesitaremos la URL que utilizan en su APP. Con *urllib3* tendremos todos los resultados en un sencillo diccionario. Lo cual es magnífico, ya que es fácil de iterar dentro de nuestra plantilla.