본문 바로가기

장고

(3)
[Django] 폼(Form)에서 commit=False의 의미 form Commit=False Django에서 모델 Form을 다루다보면 종종 commit=False라는 코드를 마주칠 때가 있다. 가끔씩 헷갈리는 부분이기 때문에 장고 공식문서를 통해 학습하고자 한다. save(commit=False) 왜 사용하나요? 한줄요약 : commit=False를 하게 되면 데이터베이스에 당장 저장하지 않는다. 언제쓰지? : DB에 데이터를 저장하기 전에 특정 행위를 하고 싶을 때 사용한다.. 실제 예제 모델 작성자 모델 idnickname 1사용자1 2사용자2 class Author(models.Model): nickname = models.CharField(max_length=20) 간단하게 회원가입할 때 적는 아이디(ID)를 nickname 필드로 지정했다. 게시글 모델..
[Django] Django allauth 유저 모델 커스텀하기 네이버로그인 소셜계정으로 회원가입한 유저 구분하기 제목을 커스텀 유저모델이라고 썼지만 사실 유저 인스턴스를 커스텀하는 것에 더 가깝다. 현재 만들고 있는 프로젝트에서 소셜계정으로 로그인하는 유저에게 특정 필드값을 부여하고 싶었다. 예를 들면 네이버로 로그인 하는 유저에게는 N이라는 값을, 페이스북으로 로그인하는 유저에게는 F 값을 주고 싶었다. 나중에 어떤 곳에서 유입이 더 많이 될지 살펴볼 수 있지 않을까? 처음에 혼란스러웠던 점은 어디서부터 시작해야 할지 모르겠다는 점이었다. 라이브러리 활용이 처음이었기 때문에 아예 백지 상태였다. 결론부터 말하자면 django-allauth에 어딘가를 오버라이딩해야 한다. django allauth custom usermodel이라고 검색하니 다시 공식문서로 회귀하..
[Django] settings 환경 분리하기 settings 분리하기 Django settings 환경 분리하기 장고를 처음 배우면서 가장 당황했던 일은 settings.py이란 파일은 온데간데 없고, deploy.py, debug.py로 환경세팅을 나누는 것이었다. 원래는... ./manage.py runserver runserver를 할 때는 명령어가 간단했는데, 이제는 파일을 나누게 되니까 여러모로 당황스러웠다. ./manage.py runserver --settings=config.settings.debug # 개발(디버그)용 ./manage.py runserver --settings=config.settings.deploy # 배포(서비스)용 환경 세팅이 deploy용과 debug용으로 나뉘면 런서버를 실행하는 법도 바꿔줘야 한다. 그냥 ..