Q&A
책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.
이 페이지는 의견 교환을 위해 따로 만든 페이지입니다. 책에서 이 페이지를 만드는 법을 직접적으로 다루지는 않습니다.
하지만, 책을 끝까지 읽고 나면 이 페이지도 만드실 수 있을거에요.
하지만, 책을 끝까지 읽고 나면 이 페이지도 만드실 수 있을거에요.
573p의 DATABASES 설정에 대해서 여쭤보고 싶습니다.
3 years, 4 months ago
mdevl안녕하세요.
책 573p 이구요.
아래 코드에서요.
DATABASES = {
'default': {
'ENGINE': os.environ.get("SQL_ENGINE", 'django.db.backends.sqlite3'),
'NAME': os.environ.get('SQL_DATABASE', os.path.join(BASE_DIR, 'db.sqlite3')),
'USER': os.environ.get('SQL_USER', 'user'),
'PASSWORD': os.environ.get('SQL_PASSWORD', 'password'),
'HOST': os.environ.get('SQL_HOST', 'localhost'),
'PORT': os.environ.get("SQL_PORT", '5432'),
}
}
os.environ.get()으로 개발환경 파일에서 값을 읽어올수 있을 때는 그 값을 사용하고,
없을 때는 두 번째 매개변수 값을 활용하는 코드 라는건 알겠는데요.
env파일은 도커에서 컨테이너 빌드 될 때 직접적으로 파일을 참조한다는건 알겠는데요.
그러니까 로컬의 셋팅스.py 자체에는 SQL_ENGINE 부분을 (왼쪽매개변수) 읽어올 경로 설정같은게 없으니까 무조건 오른쪽걸 참조하는구나 라고 이해 했었는데..
이 이해가 맞다면
지금 USER, PASSWORD, HOST, PORT를 적어놨으니까
그 부분들을 선언한 것 처럼 돼서
로컬 개발환경에서도 sqlite3가 그 2번째 값들을 사용하게 되는거 아닌가 싶어서 문의드립니다.
도커 사용 안하는 상태의 로컬 개발환경에서
어떻게 아래의 나머지 부분들은 무시하고 sqlite3만 사용되게 되는건가요?
5432라 하면 postgre의 기본포트인 것 같아서.. 저 정보는 postgre의 정보인 것 같아서요
'USER': os.environ.get('SQL_USER', 'user'),
'PASSWORD': os.environ.get('SQL_PASSWORD', 'password'),
'HOST': os.environ.get('SQL_HOST', 'localhost'),
'PORT': os.environ.get("SQL_PORT", '5432'),
감사합니다.
목록보기
jinioji 3 years, 4 months ago
SQLite는 로컬 파일로 저장이 되므로 원격접속이 허용되지 않고(방법은 있다고 합니다)
또한 접속 아이디, 패스워드 등이 필요 없다고 하네요.
아래 4줄(user, password, host, port) 지우고도 SQLite로 문제없이 접속되는 걸로 봐서는
제 생각에는 데이터 베이스를 SQLite로 사용할 시에는 user, password, host, port 정보는 필요 없으니 장고에서 무시? 하는 거 아닐까 생각됩니다.
SQLite에 관한 좀 더 자세한 사항은 아래 사이트를 참고해 보세요.
[sqlite] SQLite 설치 / 간단사용법 (tistory.com)
SQLite는 처음 사용하는지라 저도 잘 몰라서 찾아봤는데 맞는지는 모르겠네요...
Updated: July 22, 2021, 3:36 p.m.
taegon 3 years, 4 months ago
안녕하세요.
질문과 그에 대한 답변을 달아주신 독자님들께 감사드립니다.
이해하신 바와 같이 왼쪽의 환경변수로 값을 읽고, 해당 값이 없을 때 오른쪽 값으로 설정하게 됩니다.
첫번째 설정에서 장고에서 데이터베이스로 이용할 엔진("ENGINE")으로 "sqlite3"를 설정하였기 때문에, 그 아래에 추가로 설정한 postgresql과 관련된 설정값이 있더라도, 사용하지 않아서 영향이 없게 됩니다.
답변을 달아주신 jinioji님이 말씀하신 것처럼, sqlite는 매우 가벼운 데이터베이스로 파일명만 지정하셔도 이용가능합니다.
관련하여, 긱뉴스에 올라왔던 글을 읽어보시면, 배경 이해에 도움이 되실 것 같습니다.
https://news.hada.io/topic?id=4558
고맙습니다.
Updated: July 25, 2021, 5:46 p.m.
mdevl 3 years, 4 months ago
정말 감사합니다! 지금 확인했는데 아 속이 시원하네요
jinioji님과 taegon작가님 너무 감사드립니다!!
Updated: July 28, 2021, 1:02 p.m.
Leave a Comment: