Как получить данные из базы данных с помощью django
Я пытаюсь получить данные из базы данных django.
Я хочу отобразить все данные в виде div'ов с различными заголовками, изображениями и описанием.
views.py
from .models import Links
def all_links(request):
links= Links.objects.all()
return render(request, 'links.html',
{'links' : links})
models.py
class Links(models.Model):
title = models.CharField(max_length = 30)
desc = models.CharField(max_length = 30)
link_redirect = models.CharField(max_length = 100)
img = models.ImageField(upload_to = None,height_field=None, width_field=None, max_length=100)
def __str__(self):
return self.title
выходной файл:
{% for link in link_list %}
<div class="links--flex flex">
<div class="links--flex__link">
<div class="link__img">
<img src={% static '/img/links/Pexels.png' %} alt="">
</div>
<div class="link__title">
<h2 class='colored'>{{link.title}}</h2>
</div>
<hr>
<div class="link__short">
<p>{{link.desc}}</p>
</div>
</div>
{% endfor %}
Но ничего не отображается. Я могу видеть данные в своей админ-панели. Я пытался следовать нескольким руководствам, но все равно кажется, что что-то не так. Мое приложение подключено к проекту.
Вы ссылаетесь на переменную с именем link_list
в вашем шаблоне, но имя переменной, которую вы передаете в представление, links
. Измените его на следующее:
{% for link in links %}