djagno 1 - 개발 환경 설정하기
[카카오 클라우드 스쿨] django 1 - 개발 환경 설정하기
Django
참고 자료: 카카오 클라우드 스쿨 과정 담당 강사님의 자료를 참고하였습니다.
https://www.youtube.com/channel/UCl9zTDOvOxdCfUt1HqVwwdg
개념
- 장고: 파이썬 기반의 웹 프레임워크 (웹을 만들기 위해 개발자들이 간소하게 사용할 수 있는 툴을 만들어 줌)
- Node(간단), Spring(탄탄하고 규모가 큼), 장고는 그 중간
- 프레임워크가 좋은 점
- 특히 DB처리( CRUD(Create(생성), Read(읽기), Update(갱신), Delete(삭제) )
- 하지만 프레임워크가 있으면 이 모든 것을 할 수 있지
- 귀찮은 것들은 알아서 다 해준다
- 장고는 URL이 아닌, URI로 작동함(하단에 자세히)
개발 환경 설정하기
1-1. 설치하기
- 장고 프레임워크를 설치해 보자
- django admin이라는 프로그램이 설치가 되었으니 프로젝트를 생성하자
- django를 실행해 보자
- or
- 간단한 웹서버를 실행시킬 수 있다(실제 배포할 때에는 쓰지 말 것을 권고)
- http://127.0.0.1:8000 로 접속하면 장고 웹서버로 연결된다
- CMD에서 netstat -ano로도 확인이 가능하다
1-2. 각각의 파일은 어떤 파일일까?
manage.py(클릭)
→ 장고의 다양한 명령어를 실행하기 위한 아주 중요한 파일. 건드리지 말자
db.sqlite3(클릭)
→ 따로 DB가 없는 경우 가볍게 쓸 수 있는 로컬 데이터베이스 파일(기본적으로 시 비어 있음)
config 폴더(클릭)
__init__.py: 파이썬 2 버전과 호환할 수 있도록 도움. 지워도 무관함 (파이썬 2에서는 이게 있어야만 패키지로 인식)
settings.py: 프로젝트 설정이 들어가는 파일
→ SECRET_KEY: Django의 보안 기능을 맡는 키, 공개하면 절대 안됨
→ DEBUG: 디버그 출력 여부
→ ALLOWED_HOST: 허용된 호스트 추가 가능
→ INSTALLED_APPS: Django에서 사용할 앱, 바꾸거나 추가할 수 있다
→ MIDDLEWARE: 안쪽에서 동작하는 기본 앱, 인증, 보안 등등
→ ROOT_URLCONF: urls 설정 파일의 경로(위치)를 정하는 곳
→ WSGI: 설정파일을 연결
→ Database: 기본 DB 지정
→ AUTH: DB에 저장되는 ID/PW 등에 대해 (단방향)암호화 해 줌, **복호화 불가능**
→ 그 외에 기본 언어, 타임존 등을 변경할 수 있음
urls.py: 사용하는 URI값을 실제 URL 값과 연결시키는 곳
asgi, wsgi: 웹서버에 배포 시 설정파일들을 연결해 주는 파일. 나중에 자세히 알아 볼 예정
Q. URL 와 URI의 차이가 뭐지
답변 펼쳐보기(클릭)
장고는 URL이 아닌 URI를 쓰고 있음
URL은 Location 즉 위치 기준이고, URI는 Identifier 즉 ID 기준임
따라서 실제 URL은 복잡하지만 URI를 간단하게,
반대로 꼬인 사람이 URL은 간단하지만 URI를 복잡하게 만들어 버릴 수도 있음.
장고의 config/urls.py는 이 URL과 URI를 연결시켜 주는 역할을 함