티스토리 뷰

프로젝트를 시작해봅시다.

django-admin으로 사용할 수 있는 명령어들 중에서 startproject라는 옵션이 있습니다. 이 옵션을 통해서 프로젝트를 시작할 수 있습니다.

django-admin startproject mysite .


저번 포스팅에서는 가상환경을 만들었습니다. 만든 가상환경 디렉토리 내에서 mysite라는 프로젝트를 만들기 위해서 꼭 맨 뒤에 .(점)을 붙여주세요 그럼 디렉토리 안에 mysite라는 디렉토리가 생겨나고 그 안에 _init_.py, settings.py, urls.py, wsgi.py가 생깁니다. 현재 파일은 아래와 같습니다.


가상환경 디렉토리/

manage.py 장고관련 명령어들을 처리하는 파일

mysite/

__init__.py 디렉토리를 패키지처럼 다루라고 알려주는 파일

settings.py 프로젝트의 설을 하는 파일

urls.py 프로젝트의 url을 정의하는 파일

wsgi.py 

프로젝트와 앱의 차이

우리가 맨 처음 사용한 명령어는 startproject였습니다. 프로젝트는 여러개의 애플리케이션으로 구성되어 있습니다. 또한 반대로 하나의 애플리케이션은 여러 프로젝트에 포함될 수도 있죠. 좀 더 설명하자면 앱은 기능을 가진 웹 페이지고, 그러한 앱들을 하나로 묶어두는 것이 프로젝트입니다. 따지자면 프로젝트가 더 큰 단위라는 것입니다. 앱도 만들고 나면 이 관계를 좀 더 쉽고 직관적으로 이해할 수 있습니다.

앱 만들기

바로 앱을 만들어보도록 하겠습니다.

python manage.py startapp reading


우리는 reading이라는 앱을 만드는 것입니다. 그럼 reading 디렉토리가 생성되고, 그에 맞는 파일들이 또 생성됩니다.


reading/

__init__.py

admin.py 어드민 페이지를 설정할 때 사용합니다.

apps.py 앱 설정 클래스가 들어있습니다.

migrations/ 데이터베이스 변경 내역등이 담깁니다.

__init__.py

models.py 데이터베이스를 정의합니다.

tests.pt

views.py 로직을 담당합니다.


지금은 이러한 파일들이 바로 이해하기 어렵겠지만 점점 적응이 되실겁니다. 왜냐하면 장고는 파일이름이 거의 정해져있기 때문에 계속 같은 이름의 파일들을 만나게 되기 때문입니다.

프로젝트 기본 설정

앱까지 만들었으니 이제 프로젝트의 설정을 한 번 만져보도록 하겠습니다. mysite/settings.py에 가면 프로젝트에서 설정할 것들이 있습니다.



좀 더 편안하게 보시라고 필요한 부분만 기스트를 통해서 가져왔습니다. 맨 처음에 DEBUG는 개발모드인지 아닌지를 설정하는 것입니다. 지금은 True 값이 되어있기 때문에 개발모드입니다. 나중에 다 만들고 호스팅을 하실때는 False로 바꾸셔야 합니다. 디버그 값이 False일 때는 호스트는 필수적이기 때문에 나중에 호스팅하는 주소를 적어야 합니다.


그리고 우리가 설치한 앱들이 나옵니다. 우리가 만든 reading이라는 앱을 여기에 포함시켜주셔야 합니다. reading 밑에 apps.py에 클래스가 있죠? 그것을 넣어주시는 겁니다. 데이터베이스는 기본적으로 sqlite3를 사용합니다. 나중에 다른 데이터 베이스를 사용하실 땐 필요한 몇개를 다운받고 설정을 바꿔주심 됩니다. 타임존은 서울을 적어주세요.


깜빡한 부분이 있어서 코드를 추가했습니다. 나중에 파이썬애니웨어를 이용할 예정이라 ALLOWED_HOST에 파이썬애니웨어를 추가했습니다. 그리고 STATIC_ROOT 부분도 추가했습니다. 세팅 파일의 맨마지막에 STATIC_URL이 보이실겁니다. 그 밑에 붙여넣어주시면 됩니다. 나중에 스태틱 파일을 한 곳에 모을 때 위치를 지정해준 것입니다.

슈퍼유저 생성하기

장고는 기본적으로 admin 페이지를 만들어줍니다. 우리가 로그인 하려면 아이디와 비밀번호가 있어야겠죠? 그래서 슈퍼유저를 만들어서 접속하는 것입니다.


python manage.py migrate 


나중에 모델을 정의할 때 자세히 설명할 명령어입니다. 지금은 어드민 페이지에서 볼 것을 만들기 위해 일단 입력해주세요.


python manage.py createsuperuser 


해당 명령어로 슈퍼유저를 만듭니다. 이제 슈퍼유저까지 만들었으면 서버를 실행해보도록 하겠습니다.


python manage.py runserver


해당 명령어를 실행하시고 localhost:8000에 접속해보세요.



위와 같은 이미지가 보이시나요? 우리가 만든 슈퍼유저는 localhost:8000/admin 에 접속하면 활용할 수 있습니다. 로그인창이 뜨면 우리가 만든 유저로 로그인해보세요.


장고 어드민 페이지장고 어드민 페이지


이런 페이지를 자동으로 생성해주다니 정말 멋지지 않나요? 우리가 모델에 데이터베이스를 정의하고 admin.py 파일을 통해서 등록하면 바로 바뀐 모습을 확인할 수 있습니다.



기본설정도 끝냈고, 페이지 구경도 해봤으니 다음 포스팅에서는 모델을 다루도록 하겠습니다.


댓글