ValueError: Атрибут 'image' не имеет связанного с ним файла - PullRequest
0 голосов
/ 10 марта 2020

что-то не так с моим кодом? я уже запускаю makemigrations и мигрирую, и я могу видеть картинку, которую я сохранил на сайте администратора, но почему, когда я пытаюсь вызвать эту картинку на моем html, я получил эту ошибку?

enter image description here

это мои html

{% for perfume in s %}
    <img src="{{perfume.image.url}}" width="192px" height="192px" class="class">
{% endfor %}

мои views.py

s = Perfume.objects.all()
....

мои models.py

class Perfume(models.Model):
    image = models.ImageField(upload_to='image',null=True, blank=True)
    ....

my settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
LOGIN_REDIRECT_URL = '/'

import os

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
def get_success_url(self, request, user):
    return (get_success_url)

my urls.py

urlpatterns = [
      ....
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns +=static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

1 Ответ

1 голос
/ 10 марта 2020

Ваш ImageField объявлен blank=True, null=True, поэтому изображение может быть пустым. Вам нужно проверить, загружено ли изображение в ваш html.

{% for perfume in s %}
    {% if perfume.image %}
        <img src="{{ perfume.image.url }}">
    {% endif %}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...