backend/django

각종 장고 에러코드 정리 (Django 1.10 에러)

seul chan 2017. 3. 23. 00:47



Reverse for '' with arguments '' and keyword arguments '{}' not found 에러


=> ('posts:post-list')와 같은 형태로 넣어줬어야함... OTL


django module not found error


새로운 장고 폴더를 만들고 Django-admin startproject _____ 를 실행하였는데, 

no module named setting error가 갑자기 떴다.

pyenv, virtualenv를 활용하여 새로 가상환경을 셋팅해놨는데도 불구하고 그래서 개발 환경의 문제는 아닌 것 같고, Django setting의 문제일 것이라고 생각하여 구글링을 해보았다.


많은 글들을 봤는데 그 결과 중

http://stackoverflow.com/questions/13775780/django-1-5b1-executing-django-admin-py-causes-no-module-named-settings-error

여기서 해답을 찾을 수 있었다.


우선 DJANGO_SETTINGS_MODULE의 문제라고 하여 더 



env | grep DJANGO_SETTINGS_DODULE
을 사용하여 기본 설정을 보았더니 wpsblog.settings 로 되어 있었다.
그래서 export DJANGO_SETTINGS_MODULE= 로 default로 설정하였더니 문제가 해결되었다...만.
댓글들을 보니 또 마땅히 좋은 해결책은 아닌것같고. PYTHONPATH 문제라고 하는 사람들도 많은데 일단 해결했으니 패스...

=> 이전에 jango-setting-module을 활용해서 장고 run server setting을 설정했던 것 때문에 그렇다! 근데 가상환경 내 .env 파일에 등록하였는데 전체 환경 변수가 바뀌는건지... 더알아보자

01. Django_Setting_Module을 이용해서 장고 세팅 관리하기

일단 runserver 할 때 development 파일 불러오는 방법

  1. 환경 변수 (Environment variable)
  • DJANGO_SETTINGS_MODULE을 수정하여 기본 값을 확인 가능

  • manage.py에서 확인할 수 있다. 근데 이 값을 바꿔버리면 default로 개발 버전이 사용이 되기 때문에 manage.py를 바꾸지 않고 환경 변수를 지정해준다.

  • 환경 변수 지정은 다음과 같다. export DJANGO_SETTINGS_MODULE='wpsblog.settings.devlopment'

  • 이제 runserver를 실행시켜보면 using settings 'wpsblog.settings.development'라는 말이 뜨면서 개발 버전의 서버가 실행될 것이다.

  • 이를 매번 등록하기 귀찮기 때문에 .env 파일에다가 등록 해두면 폴더 들어올 때마다 설정이 될 것이다.

  • 엄청 큰 의미가있다! pyenv와 비슷한 의미를 가지는데 ...

==> 이 내용들 떄문이였다!