프로젝트 초기 설정

2016. 12. 5. 10:41Application Programming/Django

이번에는 Django(이하 장고)로 텍스트를 띄워볼 것이다!

장고의 공식 영문 튜토리얼(https://docs.djangoproject.com/en/1.10/intro/tutorial01/)을 참고했다.



나는 윈도우 환경에서 파이썬 3.5.2버전과 장고1.10버전을 사용했고, 위에 링크된 영문 튜토리얼도 장고 1.10버전을 기준으로 한 것이다! 




1)프로젝트 생성

장고를 이용한 새로운 프로젝트를 생성하기 위해서는 cmd창을 켜야한다.

프로젝트 폴더가 만들어지길 원하는 디렉터리로 이동한 뒤, 다음과 같이 입력한다.


django-admin startproject newsite


newsite라는 이름의 새로운 프로젝트를 생성했다! 이제 해당 경로에 가보면 newsite라는 폴더가 생긴 것을 볼 수 있다.



2)어플리케이션 생성

장고에서는 프로젝트의 하위 개념으로 '어플리케이션'이라는 용어를 사용하는데, 웹 사이트 전체는 '프로젝트'라 부르고 내부의 모듈화된 단위 프로그램은 '어플리케이션'이라고 한다. 프로젝트는 한 개 이상의 어플리케이션으로 구성된다.

위에서 생성한 프로젝트 폴더에 가보면 manage.py파일이 있다. 어플리케이션을 생성하기 위해서는 cmd창에서 cd명령어로 manage.py가 들어있는 경로로 이동한 뒤 다음과 같이 입력한다.


manage.py startapp polls



3)데이터베이스 변경사항 반영

우리가 데이터베이스를 사용하지 않는 프로그램을 만든다고 해도, 장고에서는 기본적으로 사용자와 사용자그룹 테이블을 필요로한다. 따라서 처음 프로젝트를 개발하는 시점에 데이터베이스의 변경사항을 반영하는 명령어를 입력해주어야한다. 어플리케이션 생성 명령과 동일한 경로에 다음과 같이 입력한다.


manage.py migrate



4)서버 실행

수정이 끝난 후 서버를 실행하기 위해서는 manage.py가 있는 경로에 다음과 같이 입력한다.


manage.py runserver




위의 4 단계를 실행하면 아래와 같은 결과를 얻을 수 있다!






본인이 사용하는 웹 브라우저의 주소창에 localhost를 의미하는 127.0.0.1:8000 을 입력하면 다음과 같이 장고 프로젝트가 성공적으로 시작되었음을 알려주는 메시지를 확인할 수 있다! 당연히 localhost:8000을 입력해도 같은 결과를 얻을 수 있다.


5)admin계정 생성

장고에서 기본으로 제공하는 기능 중 하나인 admin 페이지는 웹 브러우저 주소창에 다음과 같이 입력해서 들어갈 수 있다.

127.0.0.1:8000/admin


처음 admin페이지에 접속해보면 Username과 Password를 입력하라고 나온다.

이 때는 다시 cmd창으로 돌아가서 다음과 같이 입력해주면 된다. 서버가 run중이어서 아무 명령어도 입력되지 않는다면 Ctrl+C를 눌러 종료시킨 뒤 입력하면 된다.


manage.py createsuperuser


회원가입할 때처럼 친절히 아이디, 이메일, 패스워드, 패스워드확인 순으로 정보를 입력하면 된다. 이때 패스워드는 아무리 입력해도 아무 것도 보이지 않는다! 당황하지 말고 꾹꾹 잘 입력하자.


이제 다시 서버를 실행한뒤 admin페이지로 접속해서 Username과 Password를 입력해주면 접속이 될 것이다.

지금은 아무 테이블도 선언하지 않았으므로 기본으로 제공되는 User와 Group테이블만 있다.



----------------------------------------------------------------------------------------------------------------------------

여기까지는 프로젝트를 시작하기 위해서 반드시 거쳐야하는 과정이다. 다음 단계부터는 프로젝트의 주제와 목적에 맞게 선택적으로 진행하면 된다.


'Application Programming > Django' 카테고리의 다른 글

Hello, world!  (0) 2016.12.05
Django 개념  (0) 2016.11.29