Почему мои изображения не отображаются на индексной странице?

Я пытаюсь создать сайт аукциона, где пользователи могут вводить 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/') в вашей модели.

пожалуйста, покажите код индексной страницы, где должно быть вызвано изображение

Вернуться на верх