Olá Daniele!
Pelo que entendi, você está enfrentando um problema ao acessar os dados do seu banco de dados db.sqlite3
no seu arquivo index.html
.
Pelo código que você compartilhou, parece que você está passando os dados corretamente para o template index.html
na sua função index
do arquivo views.py
. Você está passando a variável fotografias
como contexto para o template, com o nome cards
.
No entanto, no seu arquivo index.html
, você está tentando acessar os dados usando a estrutura de repetição {% for foto_id, info in cards.items %}
, mas não está funcionando corretamente.
Para corrigir isso, você precisa ajustar a estrutura de repetição no seu arquivo index.html
. Em vez de usar {% for foto_id, info in cards.items %}
, você pode tentar usar {% for fotografia in cards %}
. Dessa forma, você poderá acessar os dados corretamente dentro do loop.
Além disso, antes do loop, você pode adicionar uma estrutura condicional para verificar se existem cards sendo recebidos. Você pode usar {% if cards %}
para verificar se a variável cards
contém algum valor. Dentro dessa estrutura condicional, você pode colocar o seu loop {% for fotografia in cards %}
e, em seguida, fechá-lo com {% endif %}
.
Por exemplo:
<ul class="cards__lista">
{% if cards %}
{% for fotografia in cards %}
<li class="card">
<!-- Restante do código -->
</li>
{% endfor %}
{% else %}
<!-- Código para exibir uma mensagem caso não haja cards -->
{% endif %}
</ul>
Certifique-se também de atualizar todas as referências aos dados dentro do loop para usar a variável fotografia
, como por exemplo {{fotografia.nome}}
e {{fotografia.legenda}}
.
Espero que isso resolva o problema e que você consiga acessar corretamente os dados do seu banco de dados no seu arquivo index.html
. Se tiver mais alguma dúvida, é só me dizer!
Espero ter ajudado e bons estudos!