Minha primeira dúvida inicia com o for da página index.html
<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 %}
Para cada objeto instanciado da Classe Fotografia que é o nosso model, ele irá criar essa estrutura acima, certo?
Para acessar cada campo do banco de dados criado, ele usa o fotografia."campo", como o fotografia.foto, fotografia.legenda ex:
{{ fotografia.nome }}
Não entendi como é possível acessar os atributos através do nome fotografia se quando foram instanciados os objetos no Shell, usamos foto = Fotografia(nome=""...), sei que está correto, mas não consegui entender porque a chave para acessar os atributos é fotografia e não foto.def index(request):
fotografias = Fotografia.objects.all()
return render(request, 'galeria/index.html', {"cards": fotografias})
Para entendimento deste trecho do arquivo views.py, foi criado uma variável "fotografias" que recebe todos os objetos criados no model Fotografia, certo? E estes objetos alimentam o dicionário criado {"cards" : fotografias}? Para cada objeto criado no model Fotografia ele irá criar um par no dicionário sempre com a chave "cards"?
Caso não tenha ficado claro minha dúvida, pode falar.