해당 github의 파일을 raw 로 열어서 최상위 폴더 내에 .gitignore 이라는 이름으로
파일 생성 후 내용 붙임.
Django 기본 설정하기
Django 기본 설정은 cloud 기반의 웹서버를 대여해주는 c9 을 기반으로 작성되었습니다. Django를 사용하는 환경에 따라 기본 설정 방식이 조금씩 다를 수 있습니다.
1. 파이썬 가상환경 생성
#intro-venv 라는 가상환경 생성$ pyenv virtualenv 3.6.7 intro-venv
#가상환경으로 만들고자 하는 디렉토리 접속 후 명령어 입력$ pyenv local intro-venv
2. 장고 설치 및 프로젝트/어플리케이션 생성
pip install django : 장고 설치
django-admin startproject intro .
intro 라는 프로젝트를 장고 내에 생성
. 을 입력하면, 현재 디렉토리에 어플리케이션을 생성함.
python manage.py runserver $IP:$PORT : 서버실행
$ python manage.py runserver $IP:$PORT
Performing system checks...
System check identified no issues (0 silenced).
You have 15 unapplied migration(s).
Your project may not work properly until you apply
the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
January 24, 2019 - 01:35:48
Django version 2.1.5, using settings 'intro.settings'
Starting development server at http://0.0.0.0:8080/
Quit the server with CONTROL-C.
#서버 접속 시, 아래와 같이 에러
#setting.py - ALLOWED_HOST에 추가를 해줘야함.
DisallowedHost at /
Invalid HTTP_HOST header: 'playground-tothefullest08.c9users.io:8080'.
You may need to add 'playground-tothefullest08.c9users.io' to ALLOWED_HOSTS.
#setting.py
ALLOWED_HOSTS = ['playground-harrylee0810.c9users.io']
#장고는 디버깅 모드가 기본으로 설정되어 있어서 저장하고 새로고침하면 소스 내용이 자동 적용됨.
프로젝트 폴더 내 파일 종류
파일종류
내용
__init__.py
Intro 라는 폴더(프로젝트로 지정한 폴더)를 하나의 패키지/모듈로 인식시킴. 이를 통해 intro.urlsintro.settings 와 같은 기능을 사용 할 수 있음. 파이썬 파일을 불러오기 위해서는 __init___ 파일이 필요함.
setting.py
Django 내 설정들을 모아놓는 파일
urls.py
프로젝트에 접근하기 위한 첫번째 문(문지기) 라는 개념임. 어떠한 요청이 Django 서버에 오면, 그 요청이 도착하는 곳이 urls.py이다. 요청을 urls.py에서 분석해서 어떠한 요청이 왔는지, 어떠한 주소로 왔는지를 보고 다른곳으로 전환하는 중개기(라우터)의 역할을 함.
wsgi.py
실제로 서비스를 하기 위해서, 완성을 해서 24시간 돌아가는 서버에다가 코드를 올려놓고 사람들이 access하고 수정을 할 수 있게 하는 파일
manage.py
서버를 실행하기 위한 명령어 등을 저장하는 파일
__init__.py 파일의 역할
intro.settings와 같이 . 으로 타고 들어갈 수 있게 해주는 파일이 _init__.py임.
특정 폴더 내 파일에 접근하기 위해서는, __init__.py라는 파일이 있어야 그 폴더(intro; 프로젝트 명)를 하나의 모듈로 보고, 그 밑으로 들어갈 수 있게됨.
ex) intro.settings : intro라는 폴더(프로젝트로 지정된 폴더) 내에 settings.py라는 파일을 불러오겠다!
어플리케이션을 생성하면, 어플리케이션을 생성했다는 것을 django 에게 알려서 등록을 해야함. 앱의 정보는 apps.py (pages 라는 어플명의 폴더 안에 위치)에 저장되어있으며, 해당 파일 안의 클래스 명인 Pages.Config를 settings.py에 등록해아함.
#apps.py
fromdjango.appsimportAppConfigclassPagesConfig(AppConfig):name='pages'#settings.py의 33rd line
INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',#추가
'pages.apps.PagesConfig',]
Comments