Как заставить порядок картин в галерее - PullRequest
1 голос
/ 15 ноября 2009

Я создаю приложение django с галереей изображений, и клиент настаивает на том, чтобы изображения отображались в определенном порядке. Я использую интерфейс администратора для загрузки изображений и редактирования их свойств, и у меня есть класс ImageFile в моей модели, который в основном выглядит следующим образом:

class ImageFile(models.Model):
    """represents an image file"""

    # the image description
    description = models.CharField(max_length=45)

    # the actual image
    image = models.ImageFile(upload_to='images') 

    # running number representing the order on the page
    order = models.IntegerField()

    def __unicode__(self):
          return "%s" % (self.description)

    class Meta:
        db_table = 'images'

Я использую IntegerField 'order', чтобы иметь порядковый номер, который будет управлять сортировкой. Я подумал, что должен быть более умный / лучший способ сделать это (другая модель?), А также иметь возможность легко управлять им через интерфейс администратора.

Ответы [ 3 ]

1 голос
/ 15 ноября 2009

Полагаю, вы хотели бы предоставить возможность сортировать изображения пользователю (в любом случае, если вы хотите отсортировать их по времени, лучше всего упорядочить их по идентификатору), поэтому, если есть модель, подобная галерее (изображений), возможно, вы должен хранить кортеж идентификаторов изображений из галереи (в БД в виде текстового объекта). После прочтения приведите его к кортежу, и вы ожидаете порядок. Надеюсь, я помогу.

0 голосов
/ 21 апреля 2015

Я использовал тот же метод (с целочисленным полем «порядок» в модели), чтобы определить порядок. Однако я настроил администратора, чтобы разрешить перетаскивание изображений, принадлежащих альбому, для определения порядка. Когда администратор нажимает кнопку «Сохранить», порядок будет автоматически рассчитываться на основе текущего порядка после перетаскивания. Все данные будут отправлены на сервер для сохранения в БД.

0 голосов
/ 15 ноября 2009

если порядок изображений соответствует порядку их загрузки, вы можете использовать временную метку для их упорядочения.

...