1
resposta

[Bug] estou com o erro: django.urls.exceptions.NoReverseMatch: Reverse for 'imagem' with no arguments not found. 1 pattern(s) tried: ['imagem/(?P<foto_id>[0-9]+)\\Z']

Urls esta ok conforme video mais apresentou o seguinte erro Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Wheyson, tudo bem com você?

O erro django.urls.exceptions.NoReverseMatch ocorre quando o Django não consegue encontrar uma rota correspondente ao que foi definido em urls.py. No seu código, isso acontece na linha 40 do seu arquivo index.html, onde não foi passado o argumento foto_id, conforme definido em urls.py, por isso o erro foi gerado. Para resolver o problema, algumas opções.

Primeira opção:

Você pode modificar o trecho da linha 40 para passar o id da fotografia como argumento para a URL 'imagem'. Exemplo:

<a href="{% url 'imagem' fotografia.id %}">

Segunda Opção

Deixar seu arquivo index.html como mostrado em aula, conforme deixo a seguir:

{% extends 'galeria/base.html' %}
{% load static %}
{% block content %}
            <section class="conteudo">
                <section class="banner">
                    <img class="banner__imagem" src="{% static '/assets/imagens/Banner(2).png' %}" alt="banner Alura Space">
                    <h1 class="banner__titulo"> A galeria mais completa de fotos do espaço!</h1>
                </section>
                <section class="tags">
                    <p class="tags__titulo">Busque por tags:</p>
                    <ul class="tags__lista">
                        <li class="tags__tag">Nebulosa</li>
                        <li class="tags__tag">Estrela</li>
                        <li class="tags__tag">Galáxia</li>
                        <li class="tags__tag">Planeta</li>
                    </ul>
                </section>
                <section class="galeria">
                    <div class="cards">
                        <h2 class="cards__titulo">Navegue pela galeria</h2>
                        <ul class="cards__lista">
                            {% if cards %}
                            {% for fotografia in cards %}
                            <li class="card">
                                <a href="{% url 'imagem' fotografia.id %}">
                                    <img class="card__imagem" src="{% static '/assets/imagens/galeria/'%}{{fotografia.foto}}" alt="foto">
                                </a>
                                <span class="card__tag">Estrelas</span>
                                <div class="card__info">
                                    <p class="card__titulo">{{fotografia.nome}}</p>
                                    <div class="card__texto">
                                        <p class="card__descricao">{{fotografia.legenda}}</p>
                                        <span>
                                            <img src="{% static '/assets/ícones/1x/favorite_outline.png' %}" alt="ícone de coração">
                                        </span>
                                    </div>
                                </div>
                            </li>
                            {% endfor %}
                            {% else %}
                            {% endif %}
                        </ul>
                    </div>
                </section>
            </section>
        </main>
    </div>
{% endblock %}

Faça as modificações, salve o arquivo e tente executar o servidor novamente.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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