컴퓨터 공부 ver 0.1/Django
-
Inheritance(상속)를 이용한 공통 속성 및 기능 정의컴퓨터 공부 ver 0.1/Django 2019. 2. 8. 14:15
BaseModel을 구현한 이유Django ORM의 매력에 빠지고 model을 설계하다보면, 공통으로 쓰면 참 좋겠다 싶은 속성이나, 기능들이 생깁니다. 혹은 재정의하고 싶은 것들도 생기고요. 그래서 inheritance(여담이지만 예전에 대학교에서 수업들을 때, 교수님이 가장 좋아하는 단어라 했습니다. 그 때는 웃어 넘겼는데, 이제는 이해가...)를 이용해서 공통으로 사용되는 속성과 기능들을 정의한 후 이 class를 상속받아 사용하면 참 좋습니다. BaseModelclass BaseModel(models.Model): is_deleted = models.BooleanField(default=False) updated_at = models.DateTimeField(auto_now=True) create..
-
환경설정 값 관리하기컴퓨터 공부 ver 0.1/Django 2019. 2. 1. 13:13
사용 이유아무래도 서버 환경 설정값들 중에는 보안상 중요한 것들(DB ID, Password, secret key 등등)을 사용할 수 밖에 없죠. 그런데 이러한 값들을 코드에 그냥 그대로 넣으면? 저처럼 고생을 합니다...서버 개발 공부를 시작할 때쯤, AWS 공부하겠다며 AWS Key ID와 Access Key를 settings.py 파일에 그대로 저장하여 git에 커밋을 했드랍니다. 그 사실을 모른체 몇 일이 지났을까..네 그렇습니다. 요금 폭탄을 맞았습니다. 400불 정도 나왔던 것 같은데. 안되는 영어로 어찌어찌 해결은 했답니다. (그 후 AWS의 충성 고객이 됐죠)무튼, 그리하여 이러한 설정값들은 따로 관리하는게 좋습니다. 특히 따로 관리하면 좋은 점은 나중에 배포할 때 입니다. 이건 나중에 A..
-
ImportError: No module named 'MySQLdb'컴퓨터 공부 ver 0.1/Django 2016. 7. 7. 14:24
포트폴리오 사이트를 AWS의 Beanstalk을 이용해 올려 놓았는데, 이번에 MySQL 사용하는 페이지를 넣으면서 아래 로그와 같은 문제가 생겨서 아주 담담하게(뭔가 기능을 추가하면 항상 있는 일인지라) 고쳐 나갔습니다. 제 사이트 환경은 이렇습니다.Python: 3.4.1Django: 1.9.5MySQL: 5.6.27포트폴리오 페이지 중에 MySQL에 데이터 읽고 쓰는 부분이 있어 기능 추가하고 당당하게 Deploy 하고 실행!!! 역시나!! raceback (most recent call last): File "/opt/python/run/venv/lib64/python3.4/site-packages/django/core/handlers/wsgi.py", line 165, in __call__ si..
-
azure에서 static 파일 문제컴퓨터 공부 ver 0.1/Django 2016. 5. 11. 18:26
페이지를 Azure에 올렸는데, static 파일을 읽어오지 못해서 Admin페이지의 디자인이 적용이 안되거나, CSS, Javascript등 Static폴더에 저장해 놓은 파일을 못 읽어 오는 경우가 있답니다.이것 역시, web.config 에서 설정을 변경(?)해주면 된답니다.고생한 것 치고는 해결 방법이 굉장히 허무했습니다... 보통 처음 프로젝트를 올린 후 manage.py 를 이용해서 static파일을 모아야 하는데요. (명령어는 collectstatic: env\Scripts\python manage.py collectstatic --settings=fromleaf.settings.azure_webapp 이렇구요.)이 명령어를 했음에도 안되는 경우가 있답니다. 그럴 때는 web.config의 ..
-
django.db.utils.OperationalError: no such column: django_content_type.name컴퓨터 공부 ver 0.1/Django 2016. 5. 11. 18:18
Azure에서 migrate명령어 실행 후에 django.db.utils.OperationalError: no such column: django_content_type.name 이런 메시지를 볼 수도 있습니다. 물론, 로컬에서도 보실 수 있을지도 몰라요.위의 에러 메시지는 Django버전 문제로 발생하는 건데요. 아래 순서대로 Azure 서버에 있는 Django update해주시면 될꺼예요. 발생이유이 경우에는 상위 버전의 Django에서 해당 프로젝트를 만들었는데, 웹 서버의 Django 버전이 낮아서 발생한다고 한다. 해결방법 version 확인 코드: env\Scripts\python -c "import django;print(django.VERSION)" 이걸로 자신의 Django 버전을 확인해..
-
The page cannot be displayed because an internal server error has occurred. 메시지가 화면에 보인다.컴퓨터 공부 ver 0.1/Django 2016. 5. 11. 18:12
프로젝트를 당당하게 서버에 Deploy 한 후, 주소치고 들어갔는데 The page cannot be displayed because an internal server error has occurred. 메시지가 보인다면...web.config에 추가만 해주면 됩니다. 전 이걸로 꽤 고생했죠;; 시나리오 Django프로젝트 웹 서버에 Deploy 후 Azure에서 제공해주는 사이트 주소를 입력페이지 화면에 [The page cannot be displayed because an internal server error has occurred.] 가 보임 해결 방법 web.config 파일 section중에 section에 element를 추가 해주면 됩니다.httpErrors의 의미(MSDN에서 검색해서 ..
-
Azure 에서 Django 프로젝트 세팅하기.컴퓨터 공부 ver 0.1/Django 2016. 5. 11. 18:04
이 글이 여기와 어울리는지 모르겠네요. Azure에 Django 프로젝트 올리면서, 세팅에 필요한 명령어 정리해서 올립니다.혹시 잘 모르시는 분은 참고하세요. 저의 경우는 Azure에서 제공하는 Webapp 서비스에 기본적으로 Django가 설치되어 있는 PTVS를 이용했습니다. 이 서비스 이용하면 어렵지않게 Django를 이용해서 자신의 페이지를 만들 수 있습니다. 개인적으로 환경 설정 전에 Kudu를 이용해서 Python 폴더가 어디 있는지, 그 밖에 다른 폴더는 뭐가 있는지 확인해보실 걸 추천해드려요. Python 가상 환경 설정Python Version 2.7: d:\python27\python.exe -m virtualenv envPython Version 3.4: d:\python34\pyth..
-
TypeError: int() argument must be a string or a number, not 'datetime.datetime' 에러 메시지 출력되면컴퓨터 공부 ver 0.1/Django 2016. 5. 11. 17:41
migrate 중에 아래 처럼 에러 메시지가 뜨면? [heoyun@fromleaf.mypage]$ manage migrateOperations to perform: Apply all migrations: admin, contenttypes, darly, fromleaf_common, fromleaf_aboutme, auth, sessions Running migrations: Applying fromleaf_common.0004_auto_20160329_1600...Traceback (most recent call last): File "manage.py", line 10, in …… …… File "/usr/local/var/pyenv/versions/env-3.4.1/lib/python3.4/site..