Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Видоизменить настройки для пользователей в админке Django [RSS Feed]

#1 Авг. 26, 2015 13:01:56

mdlv
Зарегистрирован: 2015-07-31
Сообщения: 15
Репутация: +  0  -
Профиль  

Видоизменить настройки для пользователей в админке Django

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

Буду признателен за любые подсказки , помощь и советы.

Офлайн

  • Начало
  • » Django
  • » Видоизменить настройки для пользователей в админке Django[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version