django-2. 개발환경설정
January 27, 2018
파이썬 설치 하기
가상환경 설치
- 만든 폴더 아래에 가상환경을 설치해 준다. (** myvenv는 가상환경 이름입니다. 다른걸로 해도 됩니다. )
c:\> python -m venv myvenv c:\> dir
DJANGO 설치
-
이제 폴더를 생성하고 django를 설치한다. (** 프로젝트 경로에 공백, 악센트 , 특수문자가 포함되어 있지 않도록 주의@! ) - 나는 그냥 c아래 django로 폴더를 만들었다. win+R (명령창 open ) > cmd c:\>mkdir django c:\> cd django
-
가상환경 실행 c:\django> myvenv\Scripts\activate
-
pip가 최신버전 인지 확인한다.
(myvenv) c:\django>pip install –upgrade pip
- pip로 django를 install.
(myvenv) c:\django>pip install django
성공~!!
프로젝트 생성
(myvenv) c:\django> django-admin startproject mysite(사이트 이름)
프로젝트를 생성하면 아래와 같은 폴더와 파일들이 생성됨. django ├───mysite ├───manage.py // 사이트 관리를 도와줌.. 완전 편함.. └───mysite settings.py urls.py wsgi.py init.py
설정
- settings.py를 open하고 TIME_ZONE을 찾아 해당시간 대로 변경한다.
TIME_ZONE = ‘Asia/Seoul’
- 정적파일 경로를 추가. CSS, 이미지, JS 등 정적파일들이 들어갈 예정.
STATIC_URL = ‘/static/’ STATIC_ROOT = os.path.join(BASE_DIR, ‘static_root’)
- DEBUG로 검색해보고 DEBUG가 TRUE인경우 아래와 같이 변경
ALLOWED_HOSTS = [‘127.0.0.1’, ‘.pythonanywhere.com’]
데이터 베이스 생성 및 설정
django 튜토리얼에서는 sqlite3을 사용하는데 나는 개인적으로 mariaDB를 좋아해서 데이터 베이스를 따로 설정해 주었다. django 사이트 용으로 DB를 생성([post: 마리아DB 설치부터 생성까지 / 아직 포스팅 안함..]) 해주고 설정을 변경해줌.
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE':'django.db.backends.mysql',
'NAME':'blog',#database_name
'USER':'*admin*',#id
'PASSWORD':'adminpassword',#password
'HOST':'localhost',
'PORT':'3307',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}
주의
‘OPTIONS’: {
‘init_command’: “SET sql_mode=’STRICT_TRANS_TABLES’”
}
을 넣지않을 경우 sql_mode를 설정 해주지 않으면 migrate를 진행하다가 에러가 난다..
sqlmode란? https://dev.mysql.com/doc/refman/5.7/en/mysql-options.html
sqlite3은 django에서 기본 제공하기 때문에 따로 client를 설정하지 않아도 되지만, mysql은 mysqlclient를 설치해야 함. pip를 이용해서 mysqlclient를 설치해 준다.
만약 기본으로 제공 되는 db를 잘 사용하고 있다가 mysql로 변경 한다면 init을 제외한 migrations 들을 삭제해주고 migrate 하면 됨.
(myvenv) c:\django\mysite>pip install mysqlclient
그림
(myvenv) c:\django\mysite>python manage.py migrate
그림 문제가 없다면 서버를 한번 실행해 본다 .
(myvenv) c:\django\mysite>python manage.py runserver
브라우저를 열고
127.0.0.1:8000 go!
서버가 정상적으로 동작하는것을 확인했다면 관리자 페이지에 한번 들어가보자
Ctrl+break 를 하면 서버가 중지 된다.
관리자 계정을 생성한다.
(myvenv) c:\django\mysite>python manage.py createsuperuser
createsuperuser를 하면 user id, email, password를 차례대로 입력한 후 관리자 계정을 생성한다 다시 서버를 작동 시키고 admin 페이지에 들어가 본다.
http://127.0.0.1:8000/admin
관리자 페이지를 만들지 않았는데도 ~ 아주 편리하게 관리자 페이지가 생성되어있다. django 는 관리자 페이지가 정말 깔끔하고 좋아 보인다.