안녕하세요 선생님4-09,4-11 서버 관리자 질문입니다.

안녕하세요 선생님, 부트스트랩 파일 경로를 찾지 못하는 문제 때문에
선생님께서 처음부터 따라하시길 권유했지만, 여기까지 온것이 너무 아까워서
완독하고 나서 처음부터 다시 하려고 합니다.

그런 와중에 4-09, 4-11에서 문제가 발생했습니다.

4-09) 부분에서 구니콘으로 서버를 돌렸을때 문제.

gunicorn --bind 0:8000 config.wsgi:application

했을때 처음에는
Django: ImproperlyConfigured: The SECRET_KEY setting must not be empty
에러가 발생해서

wsgi.py파일에서

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.prod')

이렇게 수정을 해주었더니 잘 돌아갔습니다.
하지만 선생님의 경우에는 구니콘이 정적 파일을 처리하지 못하고 동적 페이징 요청 처리만 가능한 웹브라우저가 표시되었지만
제 웹브라우저는 정적파일들까지도 표현이 되어 있었습니다.

이 부분의 경우는 어떻게 해야하나요?

4-11) 부분에서 슈퍼유저 생성과정에서 문제가 생겼습니다.

가상환경에서 슈퍼유저를 생성하려고 책에 나와 있는 코드를 따라서 작성했습니다.
python manage.py createsuperuser

근데 밑에와 같이 오류가 발생했습니다.

Traceback (most recent call last):
  File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/core/mana
gement/__init__.py", line 224, in fetch_command
    app_name = commands[subcommand]
KeyError: 'createsuperuser'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/core/mana
gement/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/core/mana
gement/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/core/mana
gement/__init__.py", line 231, in fetch_command
    settings.INSTALLED_APPS
  File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/conf/__in
it__.py", line 83, in __getattr__
    self._setup(name)
  File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/conf/__in
it__.py", line 70, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/conf/__in
it__.py", line 196, in __init__
    raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not b
e empty.

base.py에 이미 SECRET_KEY 존재하고 있습니다.
그래서 혹여나 local.py,prod.py에서 SECRET_KEY을 인식 못하는 건가 라고 생각해서 각 각의 파일에 SECRET_KEY 을 복사붙혀넣기 해봐도 똑같은 문제가 발생했습니다.
이런 부분은 어떻게 하면 좋을까요?

qwefghnm1212 535

M 2022년 1월 20일 7:47 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.prod')

위와 같이 설정할 경우에는 wsgi.py 파일이 실행되는 순간에만 설정이 되기 때문에 python manage.py 실행할 때에는 환경변수가 적용되지 않습니다. 따라서 책에 안내하는 것과 동일한 방법으로 환경변수를 설정해 주시기 바랍니다.

박응용

2022년 1월 20일 10:01 오후

안녕하세요 선생님 조언 감사합니다. 하지만 저도 처음에 책에 안내되어 있는 내용대로 코드를 복사 붙혀넣기를 했지만 Django: ImproperlyConfigured: The SECRET_KEY setting must not be empty 에러가 발생해서 구글링해서 찾은 방법으로 해봤습니다. 하지만 선생님의 설명대로 환경변수에 적용되지 않는 다는 것을 배웠습니다, 감사합니다! - qwefghnm1212님, 2022년 1월 21일 6:20 오후 추천 , 대댓글
선생님 이제 제가 책 한번 완독을해서 처음부터 다시 시작 하려고합니다. 하지만 이 책을 공부하기 전에 다른 인터넷 강의에서 부트스트랩, jquery 등을(부트스트랩3.3.1,,)을 다른 버전으로 다운로드 받았고 제가 어느 위치에 다운로드 받았는지 정확한 위치 파악이 안됩니다. 그래서 이미 설치된 부분들을 다 삭제하고 다시 시작하는 게 좋을까요?? 아니면 그대로 진행 하는게 좋을까요??(처음에 그대로 진행을 해 봤지만 부트스트랩 설치 경로를 읽지 못하는 문제,,이 발생했습니다. 어떻게 하면 좋을까요??웹 페이지 정말로 만들어보고 싶습니다.) - qwefghnm1212님, M 2022년 1월 21일 6:27 오후 추천 , 대댓글
@qwefghnm1212님 처음부터 진행하시는걸 추천합니다. 중간부터 하시면 그 앞에 어떤게 잘못되었는지 확인할수가 없습니다. - 박응용님, 2022년 1월 21일 7:43 오후 추천 , 대댓글