import requests #get it http://docs.python-requests.org/en/latest/index.html

def get_img_obj(url='',relativefile='',absolutefile=''):
    ''' Takes a url or a relative path to a file in the static dir and returns
    an object suitable to be asigned in an imagefield = get_img_obj(url='url')'''
    if url and relativefile:
        raise UserWarning('Function save_image_in_field expects a URL or a Filename not both.')
        
    if url:
        r = requests.get(url)
        data = r.content
        
    if relativefile:
        r = open(os.path.join(settings.STATICFILES_DIRS[0],relativefile),'rb')
        data = r.read()

    if absolutefile:
        r = open(absolutefile,'rb')
        data = r.read()
        
    img_temp = NamedTemporaryFile(delete=True)
    img_temp.write(data)
    img_temp.flush()
    return File(img_temp)

##### And you can use it like this:
## Asume that profile is some model and image is an imagefield of that model
profile.image.save('some name.jpg',get_img_obj('http://google.com/logo.jpg'))#url
profile.image.save('some name.jpg',get_img_obj(relativefile='images/logo.jpg'))# the file is on ~/django_project/static/image/logo.jpg
profile.image.save('some name.jpg',get_img_obj(absolutefile='~/userfile.jpg'))# you pass the full path to the file