python3 가상환경(Virtual environment) 설치
Virtualenv는 프로젝트 기초 전부를 Python/Django와 분리해줍니다.
웹사이트가 변경되어도 개발 중인 것에 영향을 미치지 않는다는 것입니다.
virtualenv를 만드는 데 필요한 것은 생성할 곳을 정하는 것뿐입니다.
예를 들면, home 디렉토리와 같은 곳이면 적당합니다.
여기서는 home/naya/django 라는 디렉토리를 사용하도록 하겠습니다.
1 2 3 | $ mkdir django $ cd django | cs |
이제 myenv 라는 이름의 가상환경을 만들어 보겠습니다.
아래와 같은 형식의 명령을 실행하세요.
1 | $ python3.6 -m venv myvenv | cs |
그러면 myvenv 와 myvenv 하위 디렉토리가 생성됩니다.
그리고 그 디렉토리에 우리가 사용할 가상환경이 들어있습니다.
1 2 3 4 5 6 | myvenv bin include lib lib64 -> lib pyvenv.cfg | cs |
아래 명령어를 입력해 가상환경을 실행합니다.
1 2 3 | $ source myvenv/bin/activate $ . myvenv/bin/activate | cs |
그러면 콘솔 앞에 아래와 같이 보여지게 됩니다.
그러면 virtualenv가 시작되었음을 알 수 있습니다.
1 | (myvenv) [@localhost django]# | cs |
가상환경에서 작업 할 때 python은 자동으로 올바른 버전을 참조하므로 python3.6 대신python를 사용할 수 있습니다.
의존성 설치를 모두 마쳤으니, 지금부터 장고를 설치할 수 있습니다!
장고를 설치하는 데 필요한 pip이 최신 버전인지 확인합니다.
1 | $ python -m pip install --upgrade pip | cs |
그런 다음 pip 이용해 장고를 설치해봅시다.
1 | (myvenv) ~$ pip install django | cs |
이제부터 장고 프로젝트를 시작하는 겁니다.
다시 말해 장고의 기본 골격을 만들어주는 스크립트를 실행할 거지요.
이 디렉토리와 파일 묶음은 나중에 사용하게 됩니다.
장고에서는 디렉토리와 파일명이 매우 중요하답니다.
파일명을 마음대로 변경해서도 안되고 다른 곳으로 옮겨도 안됩니다.
장고는 중요한 것들을 찾을 수 있게 특정한 구조를 유지해야 합니다.
1 | (myvenv) [@localhost django]# django-admin startproject mysite | cs |
django-admin.py은 스크립트로 디렉토리와 파일들을 생성합니다
스크립트 실행 후에는 아래와 같이 새로 만들어진 디렉토리 구조를 볼 수 있을 겁니다.
1 2 3 4 5 6 7 | mysite ├───manage.py └───mysite settings.py urls.py wsgi.py __init__.p | cs |
manage.py는 스크립트인데 사이트 관리를 도와주는 역할을 합니다
이 스크립트로 다른 설치 작업 없이 컴퓨터에서 웹 서버를 시작할 수 있습니다.
settings.py는 웹사이트 설정이 있는 파일입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | (myvenv) [@localhost mysite]# vi ./mysite/settings.py TIME_ZONE = 'Asia/Seoul' STATIC_URL = '/static/' 아래 추가 STATIC_ROOT = os.path.join(BASE_DIR, 'static') ALLOWED_HOSTS = ['127.0.0.1'] | cs |
디폴트로 데이터베이스는 sqlite3 을 사용하도록 되어 있습니다.
1 2 3 4 5 6 7 8 9 10 11 | DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } | cs |
이제 데이터베이스를 생성해볼께요. 정상적으로 생성되었으면 아래와같은 메세지를 보시게 될겁니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | (myvenv) [@localhost mysite]# python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying sessions.0001_initial... OK | cs |
이제 웹 서버를 시작해 웹 사이트가 잘 작동하는지 확인해 보도록 하겠습니다.
1 | (myvenv) [root@localhost mysite]# python manage.py runserver 192.168.0.38:8000 | cs |
웹브라우져이서 192.168.0.38:8000 접속하면 그림1 과 같이 볼수 있습니다.
'소행성이야기' 카테고리의 다른 글
select 박스를 자유로게 하자 select2 라이브러리 사용 (0) | 2018.07.19 |
---|---|
[디자인패턴] 객체지향 php Observer Pattern (옵저버 패턴) (0) | 2018.07.13 |
CentOS7 Python3 yum으로 설치 (0) | 2018.07.13 |
코드이그나이터 에서 amchart 전략패턴으로 사용하기 (1) | 2018.07.12 |
화려한 자바스크리트 차트 amchart (0) | 2018.07.12 |