2013-02-10 1 views
1

그리고 내 질문을 읽는 데 시간을내어 주셔서 감사합니다.Google App Engine의 get_serving_url에서 Production이 실패 함 InvalidBlobKeyError가 렌더링되는 동안

사용자 업로드를 양식에 성공적으로 구현했습니다. 또한 업로드 한 파일 (이미지)을 내 devserver에 표시하는 데 성공했습니다.

그러나 생산에 표시 할 수 없습니다.

@register.simple_tag 
def media_file_url(file_obj): 
    file_location = file_obj.name.split('/')[0] 
    #gives just the key 
    return get_serving_url(str(file_location)) 

및 템플릿 :

나는 현재 이미지에 대해 다음과 같은 필터를 사용하고

<img class='visual' src='{% media_file_url promotion.image %}' 
    alt='image description' width='70' height='88' /> 

내가 위의 시도 한 file_location을 분할하지 않고.

나는 views.py에 다음과 같은 사용자 정의 URL 핸들러를 시도 :

def images(request, resource): 
    clean_key = urllib2.unquote(resource) 
    return HttpResponseRedirect(get_serving_url(clean_key)) 

DEV 위의 모든 작업

아니라 생산.

누구에게 의견이 있습니까?

감사합니다 !!!

+0

당신은 MEDIA_URL을 사용하지 않은 이유 :

나는 다음과 같이 내 필터에서 제공하는 URL을 얻을 수 있었다? – catherine

+0

get_serving_url을 만들고 사용하는 방법에 대해이 질문을보십시오. http://stackoverflow.com/questions/13810823/python-google-app-engine-image-object – voscausa

+0

cathy : 시도해 보았습니다. [email protected] : Django는 약간 다릅니다.이 이미지를 렌더링하고 렌더링하는 데 사용한 문서 링크가 있습니다. 의견을 보내 주셔서 감사합니다. – hgolov

답변

0

블롭 정보는 모델의 파일 ​​정보에 저장되었습니다.

from google.appengine.api import images 

... 

@register.simple_tag 
def media_file_url(file_obj): 
    try: 
     return images.get_serving_url(file_obj.file.blobstore_info) 
    except: 
     return None