2010-11-24 1 views
0

나는 장고와 샐러리와 함께 다음을하려고 노력하고있다. 다음은 현재 수행중인 작업의 단순화 된 버전입니다.오프 사이트 파일을 다운로드하여 장고에서 샐러리와 함께 내 데이터베이스에 추가하는 방법?

@task   
def dl_and_save_to_documents(document_pk): 
     document = Document.objects.get(pk=document_pk) 
     f = urlopen("some/url/etc/file.pdf") 
     document.pdf_file=f 
     document.save() 

오류는 반환되지 않지만 pdf_file은 null로 유지됩니다. 어떤 아이디어?

감사합니다.

+0

동일한 코드가 Celery를 사용하지 않고도 작동합니까? 먼저 그것을 확립해야합니다. 'urlopen'은 내용이 아닌 파일과 같은 객체를 반환합니다. – asksol

답변

1

다른 파일 검색 방법을 사용할 수 있습니다. 나는. urllib.urlretrieve().

0

urllib 대신 grab을 시도하십시오. 그것은 당신에게 cURL lib 주위에 멋진 래퍼를 제공합니다. 실제로는 헤드리스 브라우저이지만 현재는 JS 지원이 없습니다.

관련 문제