1
resposta

[Projeto] Organização do template

_footer.html {% load static %}

Desenvolvido por Alura

_menu_searchbar.html {% load static %}

Logo da Alura Space
{% include 'partials/_alertas.html' %}

<div class="cabecalho__busca">
    <div class="busca__fundo">
        <form action="{% url 'buscar' %}">
            <input class="busca__input" type="text" name='buscar' placeholder="O que você procura?">
            <button type="submit">
                <img class="busca__icone" src="{% static '/assets/ícones/1x/search.png' %}" alt="ícone de search">
            </button>
        </form>
    </div>
</div>
Home Login Cadastro Logout

_alertas.html {% if messages %} {% for message in messages %}

{{ message }}

{% endfor %} {% endif %}

base_bootstrap.html {% load static %}

{% include 'partials/_menu_searchbar.html' %} {% block content %}{% endblock %} {% include 'partials/_footer.html' %}

cadastro.html {% extends 'usuarios/base_bootstrap.html' %} {% load static %} {% block content %}

        <section class="galeria" style="margin-left: 5em">
            <form action="{% url 'cadastro' %}" method="POST">
                {% csrf_token %}
                <div class="row">
                    {% for field in form.visible_fields %}
                    <div class="col-12 col-lg-12" style="margin-bottom: 10px;">
                        <label for="{{ field.id_for_label }}" style="color:#D9D9D9; margin-bottom: 5px;">{{ field.label }}</label>
                        {{ field }}
                    </div>
                    {% for error in field.errors.as_data %}
                    <div class="alert alert-{{ error.code|default:'danger' }}">
                        {{ error.message }}
                    </div>
                    {% endfor %}
                    {% endfor %}                    
                    <div>
                        <button type="submit" class="btn btn-success col-12" style="padding: top 5px;">Cadastrar</button>
                    </div> 

                </div>
            </form>
        </section>
    </main>
</div>

{% endblock %}

1 resposta

Oi, Lucas! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu template está bem organizado e demonstra um bom entendimento do uso de partials e includes no Django. A forma como estruturou os arquivos, separando elementos como _footer.html, _alertas.html e _menu_searchbar.html, contribui bastante para a manutenção do projeto.

Uma dica interessante para o futuro é utilizar o método get_messages da biblioteca django.contrib.messages, caso queira acessar mensagens de forma mais controlada, fora do template. Veja este exemplo:


from django.contrib.messages import get_messages

storage = get_messages(request)
for message in storage:
    print(message)

Esse código permite acessar mensagens diretamente na view, útil para depuração ou lógicas específicas.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Conteúdos relacionados

O link está em inglês, mas você poderá utilizar a tradução automática do navegador.

Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!