1
resposta

Minha imagem do bolo não carrega

Olá a imagem do bolo não esta sendo carregada. O site carrega, mas a imagem não. Todo o site esta funcionando mas a imagem não aparece.

Quando carrego o site, no terminal aparece a seguinte mensagem:

Not Found: /fotos/31/05/2020/boloChoco.jpg
[31/May/2020 16:40:20] "GET /fotos/31/05/2020/boloChoco.jpg HTTP/1.1" 404 2507

acessei o link diretamente e a imagem esta lá.

Seguem meu código:

settings.py:

#Media
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

urls.py:

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('',include('receitas.urls')),
    path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

index.html:

  <!-- ##### Best Receipe Area Start ##### -->
    <section class="best-receipe-area">
        <div class="container">
            <div class="row">
                {% if receitas %}
                {% for receita in receitas %}

                <!-- Single Best Receipe Area -->
                <div class="col-12 col-sm-6 col-lg-4">
                    <div class="single-best-receipe-area mb-30">

                        {% if receita.foto_receita == '' %}
                            <img src="{% static 'img/bg-img/foto_receita.png' %}" alt="">
                        {% else %}
                            <img src="{{ receita.foto_receita }}" alt="">
                        {% endif %}

                        <div class="receipe-content">
                            <a href="{% url 'receita' receita.id %}">
                                <h5>{{ receita.nome_receita }}</h5>
                            </a>
                        </div>
                    </div>
                </div>

                {% endfor %}
                {% else %}
                {% endif %}
            </div>

fiz alguns testes, como tirar a validação com o if e acessar a imagem do bolo diretamente e não funciona. Quando coloco a imagem antiga(livro) funciona.

Poderia me ajudar, por favor.

Obrigado

1 resposta

Oiii Luis, tudo bem com você?

É necessário colocar a url/endereço da imagem que está salva no banco e conseguiremos isso acessando a propriedade url dessa imagem. Observe esse trecho no seu arquivo index.html:

{% else %}
        <img src="{{ receita.foto_receita }}" alt="">

Altere para:

 {% else %}
         <img src="{{ receita.foto_receita.url }}" alt="">

Qualquer dúvida estou a disposição. Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software