Django

· Django
장고 셸 플러스(shell plus)는 장고 셸(Django shell)보다 좀 더 편하고 예쁜 환경에서 사용할 수 있다. 터미널에서 pip install django_extensions을 입력해 django_extensions을 설치한다. 그다음 pip install ipython을 입력해 ipython을 설치한다. 장고 프로젝트에서 django_extensions를 사용하기 위해 settings.py에 들어가 INSTALLED_APPS에 django_extensions을 추가해 준다. 이제 터미널에서 python manage.py shell_plus를 입력하면 다음과 같이 셸 플러스가 실행된다. 셸 플러스에서는 기본 장고 셸과 다르게 파이썬 코드에 맞게 글자 색상이 다르게 표현되고, for문이나 if..
· Django
웹 사이트 제작의 기본 과정은 구현 → 웹 브라우저로 직접 확인 → 성공 → 개선점 찾기를 반복한다. 구현: 만들고 싶은 요소를 떠올리고 소스 코드를 작성 웹 브라우저로 직접 확인: 웹 브라우저로 들어가서 잘 작동하는지 일일이 테스트 성공: 제대로 작동하기 않으면 다시 소스 코드를 들여다보고 수정하면서 성공시킴 개선점 찾기: 다음에는 무엇을 더 개선해야 할지, 무엇을 개발해야 할지 고민을 한 후 다시 구현 단순한 웹 사이트를 만들 때는 위 방식이 효율적일 수 있지만, 모델의 구조가 복잡하고, 기능이 다양하고 페이지도 많은 웹 사이트를 만들 때는 프로그램이 복잡해질수록 추가한 기능 사이에 상호 연관성이 점점 늘어나기 때문에 효율적이지 않을 수 있다. 하지만 개발할 프로그램이 복잡해질수록 매번 소스 코드를 ..
· Django
장고의 MVT 패턴은 일반적인 웹 프로그래밍의 MVC 패턴의 개념과 비슷하다. MVC 패턴은 Model-View-Controller로 데이터, 사용자 인터페이스, 데이터를 처리하는 로직을 구분해서 한 요소가 다른 요소들에 영향을 주지 않도록 설계하는 방식을 의미한다. 파이썬의 장고 프레임워크는 MVC가 아닌 MVT 패턴으로 Model-View-Template이다. 모델(Model): 데이터베이스에 저장되는 데이터 뷰(View): 프로그램 로직이 동작해 데이터를 가져오고 처리한 결과를 템플릿에 전달 템플릿(Template): 사용자에게 보이는 UI 부분 장고 MVT 패턴은 다음과 같은 과정으로 작동한다. 유저가 ~~~.com 이라는 이름의 서버를 요청한다. urls.py에서 매핑된 뷰(view)를 호출한다..
· Django
장고에서 기본 설정 시간은 그리니치 표준시인 UTC이다. UTC는 한국과 9시간 차이가 나기 때문에 한국 기준 오후 7시에 작성한 글이 웹 페이지에서 오전 10시에 작성된 것으로 나타날 수 있다. 실제로, 한국 시간으로 설정해주지 않으면 'Note: You are 0 hours ahed of server time'이라는 문구가 나타난다. 이 시간을 한국 시간으로 바꾸기 위해서는 settings.py를 수정하면 된다. 기본적으로 settings.py는 아래 사진과 같이 TIME_ZONE="UTC"로 지정되어 있다. 이 부분을 TIME_ZOME="Asia/Seoul"로 바꿔주면 한국 시간으로 설정할 수 있다. 또한, USE_TZ=False로 지정해 준다. USE_TZ은 models의 timezone에 변경된..
· Django
모든 장고 프로젝트는 1개 이상의 앱으로 구성되어 있다. 장고에서 앱은 특정 기능을 수행하는 단위 모듈을 의미한다. ex) 방명록 기능, 갤러리 기능 등 앱을 만들기 위해서는 다음과 같은 명령어를 입력하면 된다. python manage.py startapp (앱 이름) single_pages라는 이름의 앱을 만드는 명령어이다. 이 명령어를 실행하면 아래 사진과 같이 디렉터리(dir)에 single_pages라는 이름의 새로운 폴더가 생긴 것을 볼 수 있다. 파이참에서도 새로운 폴더가 생겼음을 확인할 수 있으며, 새로 생긴 앱에는 admin, apps, models, test, views와 같은 파일이 생성되어 있다. 참고: Do it! 장고+부트스트랩 파이썬 웹 개발의 정석
· Django
장고 프로젝트를 처음 생성하면 디렉터리(dir)에는 다음과 같은 파일과 폴더가 존재할 것이다. 프로젝트가 잘 생성되었는지 확인하기 위해 서버를 실행하면 다음과 같은 오류 메시지가 나타난다. python manage.py runserver 이 오류 메시지는 아직 18개의 마이그레이션이 있다는 의미이다. 장고에서 마이그레이션(migration)이란 데이터베이스에 적용시켜야 하는 변화에 대한 기록이다. ex) 댓글 기능이 없던 블로그에 댓글 작성 기능을 추가했을 때, 데이터 베이스에 댓글을 저장하기 위한 공간인 테이블이 필요하다. 이를 데이터베이스에 반영해야 서버를 실행했을 때 웹사이트에 추가한 댓글 기능을 제대로 사용할 수 있다. 장고는 새 프로젝트를 생성할 때 데이터베이스에 기본적으로 필요한 테이블을 미리..
dduniverse
'Django' 카테고리의 글 목록 (2 Page)