Изображение Django не отображается при поиске?

У меня есть приложение инвентаризации с товаром и его названием, фотографией.

Я запрашиваю записи в HTML странице и все работает нормально и изображения отображаются.

когда я пытаюсь искать, результат приходит без фотографии.

Вид:

def inventory_search_view(request):
    query = request.GET.get('q')
    product_search = Inventory.objects.filter(name__icontains = query).values()
    print(product_search)
    context = {'object_list': product_search}
    return render(request, 'inventory_search.html', context = context)

HTML:

    {%for object in object_list %}
    <div class="product-image">
        
        <img src="{{object.image}}" alt="{{object.name}}" />
        
    
    <div class="info">
        <h2> Description</h2>
        <ul>
            {{object.description}} 
            
            
        </ul>
    </div>
    </div>
    
    </div>
{%endfor%}

форма поиска:

    <form action="search/">
        <input type="text" name="q">
        <input type="submit" value="Search">

    </form>

Заранее спасибо.

Почему вы используете .values()? Почему бы не передать кверисет в страницу? В странице вы также должны сделать object.image.url, как я полагаю.

def inventory_search_view(request):
    query = request.GET.get('q')
    product_search = Inventory.objects.filter(name__icontains=query)
    print(product_search)
    context = {'object_list': product_search}
    return render(request, 'inventory_search.html', context=context)

А в вашем шаблоне:

{%for object in object_list %}
    <div class="product-image">
        
        <img src="{{object.image.url}}" alt="{{object.name}}" />
        
    
        <div class="info">
            <h2> Description</h2>
            <ul>
                <li>{{object.description}}</li>
            </ul>
        </div>
    </div>
    
{% comment %} </div> This shouldn't be here, or you're missing some code in your question {% endcomment %} 
{% endfor %}
Вернуться на верх