2009-11-15 3 views
1

이미지 갤러리가있는 장고 앱을 만들고 클라이언트가 이미지를 특정 순서대로 표시해야한다고 주장합니다. 나는 이미지를 업로드하고 자신의 속성을 편집하여 관리 인터페이스를 사용하여, 나는 기본적으로 다음과 같습니다 내 모델의 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 '순서'를 사용하고 있습니다를 그 정렬을 제어합니다. 나는 이것을 할 수있는 더 똑똑한/더 좋은 방법이 있어야한다고 생각했다. (다른 모델은?) 또한 관리 인터페이스를 통해 쉽게 제어 할 수 있어야한다고 생각했다.

답변

1

나는 사용자가 이미지를 정렬 할 수있는 가능성을 제공하고 싶습니다. (어쨌든 시간을 추가하여 정렬하고 싶다면 ID로 정렬하는 것이 가장 좋습니다.) 갤러리와 같은 모델이있을 수 있습니다. galery (텍스트 개체로 DB에)에서 이미지의 ID 튜플을 저장해야합니다. 읽은 후 튜플로 캐스팅하면 주문할 것으로 예상됩니다. 희망이 있습니다.

+0

JSON 또는 Pickle과 같은 직렬화 된 데이터 형식으로 주문 정보를 저장하는 것이 더 나은 점만 제외하면이 방법이 가장 좋습니다. – jathanism

0

이미지의 순서가 업로드되는 순서 인 경우 시간 소인을 사용하여 순서를 지정할 수 있습니다.

0

나는 순서를 정의하기 위해 동일한 방법 (모델의 정수 "order"필드 사용)을 사용했습니다. 그러나 이미지를 앨범에 끌어다 놓아 순서를 정의 할 수 있도록 관리자를 사용자 지정했습니다. 관리자가 "저장"버튼을 누르면 드래그 앤 드롭 후 현재 주문을 기반으로 주문이 자동으로 계산됩니다. 모든 데이터는 서버에 저장되어 DB에 저장됩니다.

관련 문제