앞선 시간에 Pillow에 대해서 언급하고 경로와 링크 지정에 대한 셋업을 조금 했는데요. 이미지 파일을 경로를 저장할 ImageFiled에 대응하는 변수를 지정하고 파일이름을 uuid로 지정하기 위한 셋업을 작성해보도록 할게요.
가장 윗 줄에 unittest.mock.patch
메서드를 사용할게요.
core/tests/test_models👨🦲
@patch() 데코레이터는 외부 서비스에 의존하는 코드에 대한 테스트를 작성할 때 유용하게 쓰입니다. 예를 들어, API를 호출하는 코드에 대한 테스트를 작성할 때, 실제로 네트워크 연동을 하면 테스트가 느려지고, 깨지기 쉬워집니다.
recipe_image_file_path() 메서드가 있는데요. 반환 받은 값을 file_path라는 경로에 할당하게되요.
exp_path변수에는 = uuid를 박아 넣어서 이미지 파일 제목을 uuid를 넣
어 생성하게 만들고요.
아직 우리는 recipe_image_file_path()
함수를 선언하지 않았기에 models.py
로 가서 만들게요.
아래와 같이요.
os.path.join()메서드를 통해 경로를 병합하여 새 경로 생성을 하게되요.
UUID란? UUID는 기본적으로 어떤 개체(데이터)를 고유하게 식별하는 데 사용되는 16바이트(128비트) 길이의 숫자입니다.
참고자료
Recipe모델에는 새로운 필드인 image
변수를 ImageField
를 통해 만들게요. upload_to=recipe_image_file_path
키워드 인자를 넣을건데요.
모델을 변경했다면 makemigrations 명령어를 하는건 인지상정인거 아시조?