Я не смог правильно указать файлы статических изображений
index.html
<div class="carousel-inner" role="listbox">
{% for pizza in pizza_list %}
{% if forloop.counter0 == 0 %}
<div class="carousel-item active">
<img width="250" height="850" class="d-block w-100 h-50" class="h-50 d-inline-block" src="{% static 'Pizza/{{ pizza }}' %}" alt="...">
</div>
{% else %}
<div class="carousel-item">
<img width="250" height="850" class="d-block w-100 h-50" class="h-50 d-inline-block" src="{% static 'Pizza/{{ pizza }}' %}" alt="...">
</div>
{% endif %}
{% endfor %}
</div>
views.py
def index(request):
pizza_list = []
print(os.getcwd())
for item in os.listdir('static/Pizza'):
pizza_list.append(item)
## print(pizza_list)
context = {'pizza_list':pizza_list}
return render(request,'index.html',context)
settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'
urls.py в папке Main_Project
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('admin/', admin.site.urls),
path('',include('pizza.urls')),
]
urlpatterns += static(
settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
Каталог моего проекта
Main_Project (top)
--Main_Project (top)
--settings
--urls
--pizza
--static
--Pizza
--(images)
--templates
--migrations
--views.py
--models.py
--urls.py
В этом проекте Django у меня возникла путаница в том, куда поместить статические изображения и файлы, потому что я не смог загрузить изображение в index.html
, которое я сохранил в каталоге папки static. Также, я не уверен, что мои настройки верны для того, чтобы изображения отображались в шаблонах, но когда я попытался распечатать pizza_list
, он смог показать имена файлов изображений. Могу ли я спросить, какова наилучшая структура папок, чтобы шаблоны распознавали файлы изображений в папке static для отображения?
Вы {% load static %}?
Предполагаю, что переменная {{ pizza }} является изображением. Если это так, то используйте следующее:
<img src="{% static 'Pizza/{{ pizza.url }}' %}" />