Почему мои изображения не отображаются на индексной странице?
Я пытаюсь создать сайт аукциона, где пользователи могут вводить url изображения и делать ставки на записи.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что мои изображения не отражаются на моей индексной странице, за исключением случаев, когда я жестко кодирую их.
Я не уверен, что я делаю неправильно, так как я пробовал использовать различные варианты, такие как использование imageField и попытка преобразовать URL в изображение (это не сработало), и я пробовал настраивать коды, но все еще имею ту же проблему.
Пожалуйста, помогите новичку
URL.PY
path("create/", views.create_listing, name="create_listing"),
MODELS.PY
class Auction(models.Model):
ABSTRACT = 'AB'
MODERN = 'MN'
ILLUSTRATION = 'IN'
select_category = [
('ABSTRACT', 'Abstract'),
('MODERN', 'Modern'),
('ILLUSTRATION', 'Illustration')
]
title = models.CharField(max_length=25)
description = models.TextField()
current_bid = models.IntegerField(null=False, blank=False)
# image_upload = models.ImageField(upload_to='images/')
image_url = models.URLField(verbose_name="URL", max_length=255, unique=True, null=True, blank=True)
category = models.CharField(
choices=select_category,
max_length=12,
default=MODERN,
)
created_at = models.DateTimeField(auto_now_add=True)
FORMS.PY
class AuctionForm(forms.ModelForm):
class Meta:
model = Auction
fields = ['title', 'description', 'current_bid', 'image_url', 'category']
VIEWS.PY
def create_listing(request):
form = AuctionForm()
user = request.user
if request.method == 'POST':
form = AuctionForm(request.POST, request.FILES)
images = Auction.objects.get('image_url')
if form.is_valid:
context = {
'user': user,
'images': images
}
form.save()
return redirect('index', context)
else:
form = AuctionForm()
context = {'form': form}
return render(request, 'auctions/create-listing.html', context)
HTML
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Submit">
</form>
Вы установили pillow? Если нет, вы можете установить его с помощью pip install pillow или pipenv install pillow (если вы установили django с помощью pipenv) и затем вы можете использовать image_upload = models.ImageField(upload_to='images/') в вашей модели.
пожалуйста, покажите код индексной страницы, где должно быть вызвано изображение