Добрый день! Подскажите, пожалуйста, как реализовать следующее: На страницу выводятся картинки, для каждого пользователя свой набор картинок и свой порядок (какая картинка за какой идет), а также свой макет расположения (в 1 или в 2 колонки, например). У разных пользователей могут использоваться одни и те же картинки. Картинки хранятся физически в виде файлов. Есть модель
class VisualModule(models.Model):
class Meta:
db_table = 'visualmodules'
visualmodule_img = models.CharField(max_length=200)
visualmodule_userlogin = models.CharField(max_length=30)
visualmodule_enabled = models.BooleanField(default=True)
Содержит имя картинки, имя пользователя, которому ее показывать, и показывать/скрывать. Модель для теста, конечно, корявая)
В админку добавляется сейчас, как список обычных статей или т.п.
class VisualModuleAdmin(admin.ModelAdmin):
list_filter = ['visualmodule_img']
admin.site.register(VisualModule, VisualModuleAdmin)
На странице выводится набор тех картинок, у которых установлен флаг Показывать (visualmodule_enabled). В visualmodules сейчас передаются сразу только те картинки, у которых visualmodule_userlogin == логин текущего пользователя
{% block visualmodule %}
<div class="large-8">
{% for visualmodule in visualmodules %}
{% if visualmodule.visualmodule_enabled == True %}
<h4>{{ visualmodule.visualmodule_img }}</a></h4>
<img src="{% static "img/workplace/" %}{{ visualmodule.visualmodule_img }}" />
<hr>
{% endif %}
{% endfor %}
</div>
{% endblock %}
Проблема: через админку неудобно, вернее, невозможно сейчас в таком виде управлять картинками. Плюс невозможно задать порядок отображения. Плюс все картинки в куче, и непонятно, что к какому пользователю относится.
Есть идея перенести эту настройку в настройку Пользователей, т.е. каким-то образом добавить в стандартные настройки каждого пользователя: 1) Выбор отображаемых для этого пользователя картинок: список всех картинок + рядом список отображаемых картинок с возможностью перемещения (стрелки вверх-вниз или что-то в этом роде) для изменения их порядка. И плюс возможность добавить из первого списка во второй, и обратно. 2) Выбор макета для отображения: комбобокс со списом доступных макетов и рядом схематичное изображение каждого макета - как располагаются картинки
Буду признателен за любые подсказки , помощь и советы.