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) Выбор макета для отображения: комбобокс со списом доступных макетов и рядом схематичное изображение каждого макета - как располагаются картинки
Буду признателен за любые подсказки , помощь и советы.