3
respostas

[Bug] Botão "pesquisar" não funciona :(

Estou com problemas em relação ao botão de pesquisa, ao fazer as alterações conforme o instrutor indica; há erro. No geral, esse é o meu código:

{% load static %}
<div class="pagina-inicial">
    <header class="cabecalho">
        <img src="{% static '/assets/logo/Logo(2).png' %}" alt="Logo da Alura Space" />
        <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>        
    </header>
    <main class="principal">
        <section class="menu-lateral">
            <nav class="menu-lateral__navegacao">
                <a href="{% url 'index' %}"><img src="{% static '/assets/ícones/1x/Home - ativo.png' %}"> Home</a>
                <a href="#"><img src="{% static '/assets/ícones/1x/Mais vistas - inativo.png' %}"> Mais vistas</a>
                <a href="#"><img src="{% static '/assets/ícones/1x/Novas - inativo.png' %}"> Novas</a>
                <a href="#"><img src="{% static '/assets/ícones/1x/Surpreenda-me - inativo.png' %}"> Surpreenda-me</a>
            </nav>
        </section>

Espero que haja solução :(

3 respostas

Olá, Mateus! Tudo bem?

Analisando o código que você compartilhou, não notei nenhum problema ou inconsistência que poderia causar algum erro. Com isso, peço que compartilhe o erro que você recebeu para que eu tenha mais contexto.

No mais, você pode comparar a sua "view.py" e "urls.py" com a do professor com esses links, para ver se o problema não está nesses locais:

Fico no aguardo e à disposição

Olá

Conferindo a sugestão e colocando o mesmo código do instrutor nos respectivos arquivos, o erro ainda persiste, o único erro que aparece no meu terminal, não acho q seja muito importante, pois ao meu ver, é apenas um erro de requisição de imagem, mas de qualquer forma, o erro terminal é:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
March 28, 2024 - 16:42:51
Django version 5.0.2, using settings 'setup.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

[28/Mar/2024 16:42:55] "GET / HTTP/1.1" 200 7731
[28/Mar/2024 16:42:57] "GET /static/styles/style.css HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/logo/Logo(2).png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/Home%20-%20ativo.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/Mais%20vistas%20-%20inativo.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/Novas%20-%20inativo.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/Surpreenda-me%20-%20inativo.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/search.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/imagens/galeria/not-found.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/imagens/Banner(2).png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /media/fotos/2024/03/07/potw1636a-jpg_1.webp HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/favorite_outline.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /media/fotos/2024/03/11/carina-nebula.png HTTP/1.1" 304 0        
[28/Mar/2024 16:42:57] "GET /media/fotos/2024/03/11/hubble_ngc1079.jpg HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/twitter.png HTTP/1.1" 304 0
[28/Mar/2024 16:42:57] "GET /static/assets/%C3%ADcones/1x/instagram.png HTTP/1.1" 304 0
Not Found: /favicon.ico
[28/Mar/2024 16:42:57] "GET /favicon.ico HTTP/1.1" 404 2752

Para finalizar, os códigos do 'Views.py' e 'urls.py' respectivamente:

from django.shortcuts import render, get_object_or_404

from galeria.models import Fotografia

def index(request):
    fotografias = Fotografia.objects.order_by("data_fotografia").filter(publicada=True)
    return render(request, 'galeria/index.html', {"cards": fotografias})

def imagem(request, foto_id):
    fotografia = get_object_or_404(Fotografia, pk=foto_id)
    return render(request, 'galeria/imagem.html', {"fotografia": fotografia})

def buscar(request):
    fotografias = Fotografia.objects.order_by("data_fotografia").filter(publicada=True)

    if "buscar" in request.GET:
        nome_a_buscar = request.GET['buscar']
        if nome_a_buscar:
            fotografias = fotografias.filter(nome__icontains=nome_a_buscar)

    return render(request, "galeria/buscar.html", {"cards": fotografias})
from django.urls import path
from galeria.views import index, imagem, buscar

urlpatterns = [
    path('', index, name='index'),
    path('imagem/<int:foto_id>', imagem, name='imagem'),
    path('buscar', buscar, name='buscar'),
]

Bom dia, Mateus!

Realmente não vejo nenhum problema nos trechos de códigos que você compartilhou, e o log de erro também não sede uma informação solida para identificação do erro. Com isso, peço que compartilhe todo o seu projeto, para testes.

Você pode fazer isso via GitHub ou Drive do Google.

Estou no aguardo e a disposição!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software