Как редактировать html из админки django

У меня есть фон(carousel) на сайте, который стоило бы менять из админки Django, что бы постоянно не лезть в код:

<div class="item home__cover" data-bg="{% static 'img/home/home__bg.jpg' %}"></div>
<div class="item home__cover" data-bg="{% static 'img/home/home__bg2.jpg' %}"></div>
<div class="item home__cover" data-bg="{% static 'img/home/home__bg3.jpg' %}"></div>
<div class="item home__cover" data-bg="{% static 'img/home/home__bg4.jpg' %}"></div>

К примеру, вывести данные 4-е блока в админке, и вставлять туда ссылку. Как это можно реализовать?


Ответы (1 шт):

Автор решения: eri

Создай модель с путями к картинкам.

class Carousel(Model):
    filename = models.CharField(max_length=255)

и добавь её в админку. (Потом можно её переделать на аплоад картинок с админки.)

from django.contrib import admin
from myproject.myapp.models import Carousel

class CarouselAdmin(admin.ModelAdmin):
    pass
admin.site.register(Carousel, CarouselAdmin)

В html шаблоне пропиши:

{% for o in carousel %}
   <div class="item home__cover" data-bg="{% static o.filename %}".</div>
{% endfor %}

И передай Carousel.objects.all() в шаблон как carousel

→ Ссылка