2011-08-22 2 views
0

GAE 및 Django를 사용하여 이미지를 업로드 할 수있는 프로그램을 작성하고 있습니다. 또한이 이미지를 GAE의 데이터 저장소에 BLOB로 저장하려고합니다. 나는 많은 예를 보았지만이 시나리오에만 국한된 것은 없다. 그래도 나는 이것이 공통적 인 문제라고 생각합니다.GAE + Django를 사용하여 이미지를 Blob에 업로드

내가 원하는 것은 새 제품을 만드는 것이며이 신제품에는 이미지가 있어야합니다.

1 회 시도 : 제품의 모델에 이미지 특성 (db.BlobProperty())을 추가하려고 시도했으며 분명히 django가 제시된 양식에이 특성을 포함하지 않았습니다.

두 번째 시도 : 두 속성 (db.ReferenceProperty() 및 db.BlobProperty())으로 이미지를 사용하여 새 엔터티를 만들었습니다. 이것으로 django 폼을 django HTML 폼 (input 타입 = '파일'name = 'img'/ | 포함)을 수정하여 병렬로 작업하려고했는데, 요청 객체에서 이미지를 가져올 수 있다고 생각했지만 다시 한 번 실패했습니다.

class Product(db.Model): 
    id = db.IntegerProperty() 
    desc = db.StringProperty() 
    prodCateg = db.ReferenceProperty(ProductCategory) 
    price = db.FloatProperty() 
    details = db.StringProperty() 
    image = db.BlobProperty() 

이 장고 양식 (HTML) 인 :

은 제품 클래스입니다

<form action="{%url admin.editProduct product.key.id%}" enctype="multipart/form-data" method="post"> 
<table> 
{{form}} 
<tr><td><input type="file" name="img" /></td></tr> 
<tr><td><input type="submit" value="Create or Edit Product"></td></tr> 
</table> 
</form> 

이것은 장고 양식 (파이썬) :

class ProductForm(djangoforms.ModelForm): 
    class Meta: 
    model = Product 
    exclude = ['id'] 

이 요청 처리기입니다 :

사람이 자신의 의견을 넣을 수 있다면 당신은 요청 처리기를 볼 수 있듯이

그래서 구글의 선물 - 튜토리얼을 기반으로, 나는 매우 감사 할 것입니다!

미리 감사드립니다.

답변

0

blobstore API with blobstoreuploadhandler을 사용하는 예제를 보거나 요청 처리기를 편집하여 blobproorey 또는 blobproperty 변수를 사용하는지에 따라 blobproperty 또는 blobreference 속성으로 업로드 된 파일을 저장할 수 있습니다. 파일 이름 (3)를 저장하는 MIM 형과 2를 저장 1. 당신은 자동으로 당신을 위해 매우 좋은 일을 할 것이기 때문에 당신이 Blob 저장소 API와 blobstoreuploadhandler를 선택하는 것이 좋습니다 않는 포스트 데이터가`

self.request.post('img').file.read() 를, 즉 HTTP에 대한 특정 할 수있다 몇 가지 장점이있는 get_serving_url을 통한 검색을 가능하게합니다.

관련 문제