- 해당강좌 : https://www.udemy.com/course/djangogirls-with-askdjango/learn/lecture/9431152#overview
해당 튜토리얼 : https://tutorial.djangogirls.org/ko/django_start_project/
이제는, 장고의 기본 골격을 만들어주는 스크립트를 실행할 것이다.
참고로 장고는 디렉토리와 파일명에도 정해진 약속이 있기에, 이런 이름이 매우 중요하다.
그래서 파일명을 함부로 바꾸거나 다른곳으로 옮기는 것은 조심해야한다. (되는 파일도 있지만 그러면 안되는 파일도 있다.)
그리고 장고를 가상환경에서 설치해 줬다면, 당연히 가상환경안에서 아래의 작업을 해주어야한다.
기본 파일 자동생성
가상환경이 활성화 된 상태에서(터미널), 프로젝트를 생성하고 싶은 폴더의 위치에 아래의 명령어를 쳐준다.
django-admin startproject (프로젝트명)
으로 프로젝트 기본 파일들을 만들어 줄수 있는데,
위같이 하면, 폴더에 폴더로 이중으로 폴더가 만들어지고 그 안에 파일들을 생성하기에,
걍 아래 명령어를 사용해주면 현재 폴더에, 폴더 중첩없이 파일들을 생성할 수 있다.django-admin startproject (프로젝트명) .
(이제 위 명렁어는 장고에서 프로젝트를 생성할 때만, 그 프로젝트에서 딱 한번만 사용한다.)
(명령어를 친 위치의 폴더)
├───manage.py
└───(프로젝트명)
settings.py
urls.py
wsgi.py
__init__.py
(장고 버전에 따라 생성되는 파일들은 위와 다를 수 있음.)
그러면 위같이 기본 파일들이 한번에 생성이 된다.
manage.py 는 스크립트로, 사이트 관리를 도와주는 역할이다.
모든 장고 관련 명령어는 manage.py를 통해서 실행이 된다.
settings.py 는 이름 그대로 웹사이트에 대한 모든 설정이 있는 파일이다.
urls.py 파일은 아까 urlresolver 가 요청받은 주소와 맞대볼때 사용하는 패턴 목록을 포함하고 있다.
웹사이트 설정 변경
settings.py에서 약간의 설정을 변경해 줄수 있다.
TINE_ZONE = 'Asia/Seoul'
으로 해서 우리나라의 시간대(타임존)으로 설정해준다.
그리고 맨밑에
STATIC_URL = '/static/'
와 같이 정적 파일에 대한 링크를 설정하는 코드에서 그 바로 밑에,
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
이라는 코드를 추가해서 작성해준다.
디버그모드로 가서,
DEBUG = True
참으로 맞춰져 있는지 확인해보고, (기본적으로 True(참)이다, 참이면 서버에서 에러가 날때 무슨에러인지 친절히 알려준다. 실제 개발단계는 False로 해주자.)
호스트 허용 리스트에서,
ALLOWED_HOSTS = ['*']
와 같이 *을 추가해준다. 여기서 *은 '모두'를 의미하며, 모든 호스트를 허용하게 해준다.
터미널에서 장고 명령어 사용
위의 설정을 저장해주고, 다시 명령어를 치러 넘어가자.
(가상환경안에서 장고를 설치했으면, 당연히 이때도 가상환경을 활성화 해야할 것이다. 이말은 이제 생략한다.)
python manage.py --help
를 치면, 장고에서 쓸수 있는 엄청많은 명령어들이 나온다.
여기서 migrate 명령어를 사용한다.python manage.py migrate
를 치면, Running migrations: 가 뜨면서 ~... OK 같은 줄이 여러줄 생길것이다.
이 migrate 명령어는 지금은 간단히 설명하자면,
장고에서는 데이터베이스에 어떤식으로 데이터를 조작을 할것에 관한 설정(migration)들이 있는데,
그것을 데이터베이스에 적용한다.
(이 명령어는 나중에 데이터베이스 설정이 업데이트 될때마다 makemigrations랑 같이 보게 될 것이다.)
(참고 : https://brownbears.tistory.com/443)
아무튼 위의 명령어를 치고 난 후에,python manage.py runserver
로, 웹서버가 로컬로 열리게 된다!
거기서 뜨는 http://127.0.0.1:8000/ (로컬서버를 나타내는)주소로 들어가게 되면,
It worked!
라는 문구와 함께 로컬서버가 정상적으로 열린 것을 확인할 수 있다!
참고
- 이렇게 로컬 서버가 실행중일때 추가로 명령어를 입력한다면, (ctrl + c로 중단하는 것보다) 새로 터미널을 열어서 그 터미널에다 명령어를 입력하자.
- 혹시 장고 서버가 제대로 안닫혔다면, ctrl + shift + esc 로 작업관리자를 열어서, 거기서 직접 종료를 해주자.
- 터미널을 막 종료하거나, 터미널에서 텍스트를 선택하면 안됀다. 엔터키를 눌러서, 선택을 해제해준 상태를 유지하자.
- UnicodeDecodeError 오류가 생기면, 아마 컴퓨터 이름이 한글일 경우일 것이다. 이럴때는 위의 로컬서버를 여는 명령어를
python manage.py runserver 0.0.0.0:8000
으로 열면 된다.
'웹(Web) > 장고(Django)' 카테고리의 다른 글
1-5. 장고 url (0) | 2021.01.14 |
---|---|
1-4. 장고 관리자, admin(어드민) (0) | 2021.01.14 |
1-3. 장고의 모델 (0) | 2021.01.14 |
1-1. 장고란 (0) | 2021.01.14 |
1-0. 장고 걸스 기본 튜토리얼 (0) | 2021.01.14 |