Не удается загрузить изображение c в django при использовании цикла - PullRequest
0 голосов
/ 26 апреля 2020

Я не могу получить изображение для загрузки в django, когда я использую для l oop, изображение будет загружаться, если я укажу путь для каждого файла.

Работает:

, когда я попробуйте использовать al oop, он не будет загружать изображения.

view.py:

  operators = []
   directory = 
      os.path.join(os.path.join(os.path.join(os.path.join(settings.BASE_DIR)
      ,'static'),'images'),'operators')
    for file in os.listdir(directory):
      if file.endswith(".png") or file.endswith(".jpg"):
        operators.append(file)

, затем я пытаюсь вернуть изображение, используя контекст.

html file:

  {% if operators %}
      There are {{ operators|length }} records:
      {% for operator in operators %}
        <div class="media">
          <img src="{{operator}}" class="align-self-center mr-3" alt="...">
        </div>
        {{operator}}
      {% endfor %}
    {% else %}
      There are no records in the system
    {% endif %}

Было бы замечательно, если бы у кого-то была идея, как исправить мой код.

settings.py:

 STATIC_URL = '/static/'
 # Pointing django to the static file location. 
 STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
)

1 Ответ

0 голосов
/ 26 апреля 2020

Ответ может отличаться в зависимости от используемой версии Django.

Для Django 3.0 должно работать следующее

# settings.py

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    'static',
]

Тогда внутри шаблонов-

{% load static %}

<img src="{% static '{{ operator.url }}' %}">

Я предполагаю, что вместо этого могут появиться изображения со следующим:

<img src="{{ operator.url }}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...