Я хотел бы установить в моем django
веб-приложении Bootstrap
или Javascript carousel
немного конкретнее.До сих пор, и, как я вижу, изображения карусели определяются внутри внутреннего кода разработчиком.
Я хотел бы создать карусель, где изображения определяются администратором из шаблона с выбором списка публикаций.
Каждая публикация имеет титульный лист.Таким образом, пользователь-администратор может проверить одну или несколько публикаций, а карусель, помещенная в другой шаблон, загружает предыдущие выбранные изображения.
У меня есть другие вопросы из этой идеи:
- Как я могу сохранить администраторавыбор для использования проверенной картинки в карусели?(Может быть, через базу данных, но как?)
- Как передать проверку переменных из представления класса в другое?(Я должен установить глобальные переменные?)
- У вас есть идеи, если что-то подобное уже существует?
Большое спасибо заранее за любую идею!
У меня есть файл модели:
class Publication(models.Model):
new_publication = models.BooleanField(verbose_name=_('new publication'), default=True)
cover = models.ImageField(upload_to='media/', verbose_name=_('cover page'), default='')
На мой взгляд, этот класс:
class HomeView(CreateView):
""" Render the home page """
template_name = 'index.html'
def get_context_data(self, **kwargs):
kwargs['publication_list_newest'] = Publication.objects.filter(new_publication=True).order_by('pub_id')
return super(HomeView, self).get_context_data(**kwargs)
И в моем шаблоне я пытаюсь установить что-то вроде этого:
<div class="row">
<h3>{% trans 'Newest publications' %}</h3>
<hr>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
{% for publication in publication_list_newest %}
<li data-target="#myCarousel" data-slide-to="{{ publication.id }}" class="active"></li>
{% endfor %}
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="la.jpg" alt="Cover page" style="width:100%;">
</div>
{% for publication in publication_list_newest %}
<div class="item">
<img src="{{ publication.cover.url }}" alt="{{ publication.cover }}" style="width:100%;">
<div class="carousel-caption">
<h3>{{ publication.title }} ({{ publication.pub_id }})</h3>
</div>
</div>
{% endfor %}
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
Таким образом, изображения отображаются автоматически, поскольку учитывается атрибут new_publication
.Но пользователь должен получить возможность самостоятельно выбирать, какая публикация будет отображаться в карусели.