매우 기초적인 장고와리액트 개념+시작하기
// 파이썬 명령어를 통해 venv_ver01이라는 가상환경을 만듭니다
gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ python -m venv venv_ver01
gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ ls
venv_ver01
// 이제 생성된 venv_ver01이라는 폴더에서 bin 내부에 activate파일을 source라는 명령어로 실행시켜 가상환경안으로 들어갑니다
gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ source venv_ver01/bin/activate
// 아래는 가상환경에 들어온 상태입니다
(venv_ver01) gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$
// 이제 장고 프레임워크를 설치해 줍니다, django~=[숫자] 에서 숫자는 본인이 설치하려는 장고의 버젼을 의미합니다. 파이썬 버젼에따라 호환장고 버젼도 다르니 참고하세요
(venv_ver01) gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ pip install django~=2.0
Collecting django~=2.0
Using cached https://files.pythonhosted.org/packages/ab/15/cfde97943f0db45e4f999c60b696fbb4df59e82bbccc686770f4e44c9094/Django-2.0.7-py3-none-any.whl
Collecting pytz (from django~=2.0)
Using cached https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-2.0.7 pytz-2018.5
// 아까 내가 설치한 api의 목록들을 볼 수 있다고 했습니다. 그 목록들은 아래의 명령어를 통해 파일을 만들어 확인 가능합니다.
(venv_ver01) gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ pip freeze > requirements.txt
(venv_ver01) gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ cat requirements.txt
Django==2.0.7
pytz==2018.5
// 위에 보시면 방금 설치한 Django 2.0.7 버젼이 설치된 것을 볼 수 있습니다(pytz는 무슨놈일까..)
// 이제 장고 프로젝트를 만들어 줍니다. django-admin이라는 명령어에 startproject옵션으로 local_testing이라는 이름의 프로젝트를 생성했습니다
(venv_ver01) gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ django-admin startproject local_testing
(venv_ver01) gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ ls
local_testing requirements.txt venv_ver01
// 프로젝트 내부로 들어갑니다
(venv_ver01) gimgiseong-ui-MacBook-Pro:basicDjangowithReact_ver2 kisung$ cd local_testing/
(venv_ver01) gimgiseong-ui-MacBook-Pro:local_testing kisung$ ls
local_testing manage.py
// manage.py 파일에 startapp옵션을 통해 app01이라는 이름의 앱을 만들어 줍니다
// 하나의 프로젝트에는 여러 앱이 있을 수 있습니다
(venv_ver01) gimgiseong-ui-MacBook-Pro:local_testing kisung$ python manage.py startapp app01
(venv_ver01) gimgiseong-ui-MacBook-Pro:local_testing kisung$ ls
app01 local_testing manage.py
(venv_ver01) gimgiseong-ui-MacBook-Pro:local_testing kisung$ cd app01/
(venv_ver01) gimgiseong-ui-MacBook-Pro:app01 kisung$ ls
__init__.py admin.py apps.py migrations models.py tests.py views.py
// 생성된 app01폴더 내부로 들어가 urls.py를 만들어 줍니다
// urls.py는 앞으로 많이 활용될 것입니다.
// 예를 들어서 localhost:portnumber/local_testing/app01/page1 과
// localhost:portnumber/local_testing/app01/page2 등으로 client를 redirect해줄 때 앞으로 사용됩니다
(venv_ver01) gimgiseong-ui-MacBook-Pro:app01 kisung$ vim urls.py
(venv_ver01) gimgiseong-ui-MacBook-Pro:app01 kisung$ ls
__init__.py admin.py apps.py migrations models.py tests.py urls.py views.py
# 먼저 Allowedhost 부분과(이 부분은 여러분이 페이지를 확인하며 접속할 때 허용하는 주소를 포함합니다 '*' 은 모든 접근에 대해 허용한다는 의미)
# 일단은 아래와 같이 작성합니다
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com', 'localhost']
# 두 번째로 설치한 app01을 root프로젝트에서 인식할 수 있도록 아래와 같이 적어줍니다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
]
# 데이터베이스의 경우 지금은 활용하지 않을 예정입니다. 구글링하시면 mysql등 본인의 db와 연동시킬 수 있는 방법을 찾을 수 있습니다
# 나머지 내용은 '장고걸스'를 참고하시면 됩니다
이제 디렉토리 위치를 이동해 build합니다
(venv_ver01) gimgiseong-ui-MacBook-Pro:app01 kisung$ cd ..
(venv_ver01) gimgiseong-ui-MacBook-Pro:local_testing kisung$ python manage.py makemigrations
No changes detected
(venv_ver01) gimgiseong-ui-MacBook-Pro:local_testing kisung$ 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
(venv_ver01) gimgiseong-ui-MacBook-Pro:local_testing kisung$
이제 리엑트 라이브러리를 연결시키기 위한 준비가 끝났습니다. 다음은 리엑트 라이브러리를 어떻게 연결시킬 지 적을 예정입니다.