Criação de Templates Flask

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprenderemos como criar e usar templates no Flask. Templates são uma parte crucial de aplicações web. Eles nos permitem gerar páginas HTML dinâmicas que podem exibir dados diferentes a cada vez que são carregadas. Usaremos o motor de template Jinja2, que vem embutido no Flask.

Nota: Você precisa criar o arquivo de código você mesmo e executá-lo no ambiente. Você pode visualizar o status do serviço Flask na Web 5000.

Criando o Layout Base

Nosso primeiro passo é criar um layout base que será usado para todas as nossas páginas. Este layout base incluirá os elementos comuns da nossa aplicação, como a barra de navegação e o título da página.

<!-- flaskr/templates/base.html -->
<!doctype html>
<title>{% block title %}{% endblock %} - Flaskr</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}" />
<nav>
  <h1>Flaskr</h1>
  <ul>
    {% if g.user %}
    <li><span>{{ g.user['username'] }}</span></li>
    <li><a href="{{ url_for('auth.logout') }}">Log Out</a> {% else %}</li>

    <li><a href="{{ url_for('auth.register') }}">Register</a></li>
    <li>
      <a href="{{ url_for('auth.login') }}">Log In</a>
      {% endif %}
    </li>
  </ul>
</nav>
<section class="content">
  <header>{% block header %}{% endblock %}</header>
  {% for message in get_flashed_messages() %}
  <div class="flash">{{ message }}</div>
  {% endfor %} {% block content %}{% endblock %}
</section>

Template de Registro

Em seguida, criaremos um template para a página de registro. Este template estenderá nosso layout base e preencherá o conteúdo específico para esta página.

<!-- flaskr/templates/auth/register.html -->
{% extends 'base.html' %} {% block header %}
<h1>{% block title %}Register{% endblock %}</h1>
{% endblock %} {% block content %}
<form method="post">
  <label for="username">Username</label>
  <input name="username" id="username" required />
  <label for="password">Password</label>
  <input type="password" name="password" id="password" required />
  <input type="submit" value="Register" />
</form>
{% endblock %}

Template de Login

Da mesma forma, criaremos um template para a página de login. Este template também estenderá nosso layout base e preencherá o conteúdo específico para esta página.

<!-- flaskr/templates/auth/login.html -->
{% extends 'base.html' %} {% block header %}
<h1>{% block title %}Log In{% endblock %}</h1>
{% endblock %} {% block content %}
<form method="post">
  <label for="username">Username</label>
  <input name="username" id="username" required />
  <label for="password">Password</label>
  <input type="password" name="password" id="password" required />
  <input type="submit" value="Log In" />
</form>
{% endblock %}

Resumo

Neste laboratório, aprendemos como criar e usar templates no Flask. Criamos um layout base que inclui os elementos comuns da nossa aplicação e, em seguida, criamos templates específicos para as páginas de registro e login que estendem este layout base e preenchem seu conteúdo específico. Isso nos permite manter nosso código DRY (Don't Repeat Yourself - Não se Repita), tornando-o mais fácil de manter e menos propenso a erros.