>source
Django를 사용하는 동안 DB의 데이터에서 무언가를해야 할 때 항상 Django 셸을 사용했습니다. 이번에는 Django shell에서 아래 시나리오와 같은 것을하고 싶습니다.

점포가 많은 모델 Store가 있습니다. 장고 껍질에서 1. 수 입점 모델 2. 각 상점 이름을 사용하여 각 이름을 검색하고 각 상점 이름을 기준으로 CSV 파일을 다운로드합니다. 3. 다운로드 한 csv 파일을 상점 모델의 FileField에 추가하십시오.

1 번과 3 번 방법은 알고 있지만 2 번 방법은 혼란 스럽다. Django Shell의 상점 이름에서 상점 이름을 입력하고 CSV 파일을 다운로드하려면 어떻게합니까?

  • 답변 # 1

    requests 를 사용할 수 있습니다  인터넷에서 데이터를 가져 오는 라이브러리. 다음과 같이 설치하십시오 :

    pip install requests
    
    

    그런 다음 장고에서는 ContentFile 를 사용할 수 있습니다.  다운로드 한 데이터를 FileField에 저장합니다. 예를 들면 다음과 같습니다.

    import requests
    from django.core.files.base import ContentFile
    from .models import SomeModel
    response = requests.get('https://raw.githubusercontent.com/wireservice/csvkit/master/examples/test_geo.csv')
    s = SomeModal.objects.get(id=0)
    s.file_field.save('data.csv', ContentFile(response.content))
    s.save()
    
    

관련 자료

  • 이전 recursion - Haskell에서 목록 이해를 통해 '취득'기능을 다시 만드는 방법은 무엇입니까?
  • 다음 excel - 루프의 셀 값을 기준으로 텍스트 상자의 색상을 어떻게 변경합니까?