Urls esta ok conforme video mais apresentou o seguinte erro
Urls esta ok conforme video mais apresentou o seguinte erro
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!