Не могу вывести несколько изображений в django, выводится только одно, однако добавить в админ панель можно много изображений (миграции проведены)
вот мой код:
models.py
from django.db import models
from django.contrib.auth.models import User
def user_directory_path(instance, filename):
# путь, куда будет осуществлена загрузка MEDIA_ROOT/user_<id>/<filename>
return 'user_{0}/{1}'.format(instance.user.id, filename)
class Book(models.Model):
objects = None
user = models.ForeignKey(to=User, null=True, on_delete=models.SET_NULL)
title = models.CharField(max_length=150)
fcover = models.FileField(upload_to=user_directory_path)
book = models.FileField(upload_to='books/%Y-%m-%d/')
def __str__(self):
return self.title
class MyModel(models.Model):
...
upload = models.FileField(upload_to=user_directory_path)
class Foo(models.Model):
# Указывает на абсолютный путь
audio = models.FilePathField(path='/home/user/')
views.py
from django.shortcuts import render
from .models import Book
def home_page(request):
# получаем все значения модели
data = Book.objects.all()
return render(request, 'main_app/home_page.html', {'data': data})
main_app/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home_page, name='home'),
urls.py
from django.conf import settings
from django.urls import include
from django.contrib import admin
from django.urls import path
from django.conf.urls.static import static
# функция для возврата картинки
from main_app.views import home_page
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main_app.urls')),
path('', home_page)
]
home_page.py
{% for b in data %}
<a href="{{ b.book.url }}">{{ b.title }}</a>
<img src="{{ b.fcover.url }}" style="position:absolute;left:11px;right:100px;top:100px" width=500 height=500>
{% endfor %}
admin.py
from django.contrib import admin
from .models import Book
admin.site.register(Book)