2016-07-23 1 views
0

다운로드 한 이미지를 다음과 같은 경로에 저장하고 싶습니다. media/images/[user.pk]/urllib 라이브러리의 urlretrieve에서 직접 가능하며 가장 우아한 방법은 무엇입니까? 내가 경로 같은 .../미디어/이미지/[user.pk]/[filename.jpg]django 미디어 파일에서 디렉토리를 만드는 방법 (최선의 방법)?

file_path, header = urlretrieve(image_url, os.path.join(
        MEDIA_ROOT, get_image_path(
         self, 'profile_image_'+str(
         datetime.utcnow().strftime("%Y%m%d_%H%M"))+'.jpg 
와 urlretrieve를 사용

여기
  • :

    이 사용 된 코드 조각입니다 여기

  • 는 파일명

    def get_image_path(instance, filename): 
        return os.path.join('images', str(instance.pk), filename) 
    
0123로 원하는 경로를 반환하는 함수이다 정의한

나는 파일이 존재하지 않기 때문에 나는 오류가 실행

FileNotFoundError에서/휴식/OAuth2를/구글 [errno를 2] 해당 파일이나 디렉토리 : 'C : \ XAMPP \ htdocs를 \ BookProjectFresh 미디어 \ \ images \ 21 \ profile_image_20160723_0801.jpg '

임시 폴더에 파일을 로딩 한 다음 거기에서로드하여 장고 모델에 넣으면 자동으로 파일 경로가 생성됩니다. 하지만 그때 내 PC에 동일한 내용의 파일이 2 개 있습니다. 아니면 os.path.makedirs와 함께 할 수있는 가장 좋은 방법일까요? 다른 방법으로 공유하고 싶다면 알려주세요.

def save_image_from_url(self, image_url): 
     if self.profile_image_url != image_url or not os.path.isfile(self.profile_image.path): 
      if not os.path.exists(get_image_path(self, os.path.join(MEDIA_ROOT, get_image_path(
       self, '')))): 
       os.makedirs(get_image_path(self, os.path.join(MEDIA_ROOT, get_image_path(
       self, '')))) 

      self.profile_image_url = image_url 

      file_path, header = urlretrieve(image_url, os.path.join(MEDIA_ROOT, get_image_path(
       self, 'profile_image_'+str(datetime.utcnow().strftime("%Y%m%d_%H%M"))+'.jpg'))) 

      self.profile_image = file_path 
      self.save() 
:

답변

0

나는 문제가과 같이 해결
관련 문제