2017-12-08 13 views
0

FileField을 인터넷에서 다운로드 한 이미지로 업데이트하려고합니다. 이미지가 제대로이 있어야 MEDIA_ROOT 디렉토리에 디스크에 저장되어 있지만, 데이터베이스, 필드가 비어 : 다음 코드Django FileField 업데이트는 디스크에는 쓰지만 데이터베이스에는 쓰지 않습니다.

# update profile pic 
 
pic_url = fb_login_data['picture']['data']['url'] 
 
pic_url_parsed = urllib.parse.urlparse(pic_url) 
 
image_req = urllib.request.urlretrieve(pic_url) 
 
with open(image_req[0], 'rb') as f: 
 
    user.profile_image.save(os.path.basename(pic_url_parsed.path), 
 
             File(f))

동작은 꽤 이상한에게 있습니다. 또한 user.save()을 수동으로 호출 해 보았습니다.

그 이유는 무엇이며 어떻게 FileField를 제대로 업데이트 할 수 있습니까? 장고 2.0 및 파이썬 3.6.3

답변

0

를 사용

난 그냥 작동하도록 관리. 내가해야 할 일은 FileField이 이미 존재하는 파일을 가리 키도록 기본값을 추가하는 것입니다. 그러나 아직도 나는 이것이 왜 일어나고 있는지 확신하지 못한다.