2011-04-23 4 views
0

안녕하세요 내 사용 get_serving_url 이제는 서버 측 iterating 대신 템플릿에서 할 수 있는지 궁금해 serverside입니까?이 반복이 필요합니까?

class Ad(GeoModel,search.SearchableModel): 
    ....... 

class Image(db.Model): #migrate to blobstore 
    reference = db.ReferenceProperty(Ad, collection_name='matched_images', verbose_name="Title") 
    primary_image = blobstore.BlobReferenceProperty() 
    ......... 

    class AdHandler(I18NHandler): 
     def get(self, id): 
      ad = Ad.get_by_id(long(id)) 
      image = ad.matched_images.get() 
      url = '' 
      if image: 
       url = images.get_serving_url(str(image.primary_image.key())) 
      if not ad: 
       self.error(404) 
       return 
      imv = [] 
      L = {} 
      table = '' 
      for i in ad.matched_images: 
       if i.primary_image: 
        i1 = images.get_serving_url(str(i.primary_image.key())) 
        imv.append(i1) 
      self.render_template("imageinfo.html", 
           {'url':url, 'imv':imv, 'ad':ad, 'image': image, 
            'logout_url': users.create_logout_url('/'),} 
           ) 
+1

템플릿 _are_ 서버 쪽. 여기에서 무엇을하려하는지 명확하게 알지 못합니다. 연결된 하나의 이미지 엔티티를 가져온 다음 개별적으로 가져옵니다. 여기서 무엇을하려고하는지 설명 할 수 있습니까? 그 이유는 무엇입니까? –

+0

anser에게 감사드립니다. 관련된 모든 이미지를 반복하려고하지만 반복 할 수있는 태그가 없기 때문에 아무런 방법이 없습니다. get_serving_url (?) –

+0

아니요 - 코드에서이를 수행 한 다음 결과를 템플릿으로 전달해야합니다. 장고 템플릿은 디자인에 의해 제한을받습니다. 나는 여전히 쿼리에서 첫 번째 결과를 가져 오는 이유를 이해하지 못하고 다시 실행 한 다음 결과를 모두 얻는다. –

답변

2

이미지 URL을 데이터베이스에 저장하는 것이 좋습니다. 이 url은 정적이며 get_serving_url을 수행 할 때마다 많은 CPU 시간이 필요합니다. 내가 이것을했을 때 나는 내 자신의 애플 리케이션에 과감한 개선을 보았다. 또한 이렇게함으로써 초기 문제가 즉시 해결됩니다.

관련 문제