🌈 프로그래밍/TIL

[ TIL ] 모든 python 파일의 코드 스타일을 통일해보자 (with. Black)

반응형

1. 프로젝트에 black code formatter 적용하기

사용한 명령어

# .gitignore가 있는 경로에서
❯ black myproject -l 88 --exclude migrations

  • 한 line의 길이 수를 88로 설정하고, 마이그레이션 파일들은 제외한다.
  • 위와 같이 실행하면, 실행 결과로 총 몇 개의 파일들이 수정되었는지 결과가 콘솔에 찍히게 된다!

 

2. black 적용 방법

1.1 프로젝트 루트 경로에. vscode 파일을 생성 후 settings.json 파일 생성

1.2 settings.json 파일에 아래의 내용을 복붙

{
    "python.formatting.provider": "black",
    "python.formatting.blackArgs": [
        "--line-length",
        "88"
    ],
    "editor.formatOnSave": true,
}

1.3 작업 후 cmd + s 저장 시 black이 자동 적용됩니다. 만약 black이 설치되어있지 않는다면, vscode 알림 창에서 설치하기를 누르면 설치가 됩니다.

 

3. SyntaxWarning 수정

  • ❯ python manage.py makemigrations 명령을 수행하니 아래와 같이 경고가 떴다!
SyntaxWarning: "is" with a literal. Did you mean "=="?
  • 찾아보니, "is"를 사용하는 경우는 Object끼리의 비교에서 사용된다고 하고, "=="를 사용하는 경우에는 "값"이 동일한지 확인하는 연산자이다!
  • 그러므로 상태"값"과 비교를 하고 있었기 때문에 "is"키워드가 아닌 "==" 연산자를 통해 수정해주었더니 경고가 사라졌다~ 🙋‍♂️
  • 참고
 

What’s the difference between “is” and “==” in Python

When to use which and why

towardsdatascience.com

 

Django는 모델이 바뀌면 DB에 항상 변경사항을 일치시키기 위해서 makemigrations와 migrate 명령을 꼭 해주어야 한다.

그렇지 않으면 나중에 엄청난 문제가 발생할 수 있기 때문..

가끔씩 위와 비슷한 경고가 뜨던데.. 뜨다가 안 뜨다 하는 이유는 아직까진 잘 모르겠다..🥲

경고는 없애는 것이 마음이 편한데 보이자마자 없애보려고 해 보아야겠다.

반응형