Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

CRUD com Python - #7 Paginação e Busca

30/12/2020

Nesse tutorial aprenderemos como realizar a paginação e a busca de dados no banco utilizando a linguagem de programação Python.

Páginas com Python

app/views.py

Vamos chamar o módulo paginator para facilitar o nosso trabalho com a separação dos dados em páginas:

def home(request):
    data = {}
    all = Carros.objects.all()
    paginator = Paginator(all, 2)
    pages = request.GET.get('page')
    data['db'] = paginator.get_page(pages)
    return render(request, 'index.html', data)

app/templates/index.html

No template index.html vamos chamar a div responsável pela paginação:

<div class="pagination">
    {% if db.has_previous %}
        <a href="?page={{db.previous_page_number}}"> < </a>
    {% endif %}

    {{db.number}}

    {% if db.has_next %}
        <a href="?page={{db.next_page_number}}"> > </a>
    {% endif %}
</div>

Busca com Python

app/templates/index.html

Para incrementar a busca iremos construir um formulário na index para remessa dos dados via get:

<div class="col-8 m-auto pt-3 pb-2 text-center">
    <form method="get">
        <input type="text" id="search" name="search" class="form-control" placeholder="Buscar...">
    </form>
</div>

app/views.py

Para implementar a busca na views:

def home(request):
    data = {}
    search = request.GET.get('search')
    if search:
        data['db'] = Carros.objects.filter(modelo__icontains=search)
    else:
        data['db'] = Carros.objects.all()
    return render(request, 'index.html', data)

Então é isso! Espero que tenham gostado, sucesso nos códigos e na vida!

Do you need a teacher? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

CRUD com Python - #6 Delete e Ajax
Nessa videoaula trabalharemos com o delete utilizando o ajax para fornecer um maior dinamismo a nossa aplicação.
Saiba mais!
CRUD com Python - #8 Usando o MySQL
Nesta aula faremos o mesmo CRUD realizado anteriormente com SQLITE, agora com o banco de dados MySQL.
Saiba mais!
Python
Nesta seção aprofundaremos os conhecimentos sobre uma das linguagens em maior ascenção no mercado, o Python.
Saiba mais!