이제 곧 프로젝트가 시작인데 다 까먹어버린 django...
알고리즘처럼 다른 공부들도 꾸준히 해야하는게 중요한데...
곧 프로젝트도 시작인데 django를 못 한다는건 어불성설인지라 교수님이 말씀해주신 Django일기를 이제서라도 작성해보려고 합니다.
기억 나는 대로 닥치는대로 마구잡이로 만들어보도록 하겠습니다.
가장 먼저 venv를 만들고 django를 install 하고 django 프로젝트를 생성해보도록 하겠습니다.
1 . venv 만들기
$ python -m venv .venv 를 이용하여 venv를 만들고 가상환경을 엑티베이트 시키도록 하겠습니다.
2. venv activate 시키기
$ source .venv/Scripts/activate 명령어로 만들어놓은 venv를 활성화 시켜줍니다.
3. django install 후 프로젝트 만들기
$ pip install django 로 django를 install 해주고
$ django-admin startproject mypjt 를 이용하여 프로젝트를 만들어줍니다.
4. django app 만들기
cd mypjt 를 이용하여 mypjt로 들어간 뒤, python manage.py 를 이용하여 app 만듭니다.
여기서부터 슬슬 기억력이 한계를 들어내기 시작합니다.
python manage.py createapp articles 를 입력하니 django가 친절하게 너 startapp 쓰려고하는거 아니냐고 물어봅니다.
바로 다시 입력해줍니다.
$ python manage.py startapp articles 를 만들어줍니다.
5. settings에 만든 app 등록하기
mypjt 안에 들어가있는 settings.py에 만들어놓은 articles app을 등록합니다. 위치는 INSTALLED_APPS 입니다.
6. 프로젝트 실행시켜보기
자연스럽게 npm run serve를 입력할 뻔 했지만, 참아주고 python manage.py runserver 를 입력해줍니다.
이건 하도 입력했더니 손이 기억해서 자동으로 쳐줬습니다.

기억을 잘 하고 있는 저에게 박수 한 번 보내고 url을 만들으러 가보겠습니다.

와... 정말 오랜만에 보는 urls.py 입니다.
어차피 프로젝트에서 django는 api response만 해줄테니, 빠르게 api라는 url을 만들어보도록 하겠습니다.
빠르게 api url을 만들어보도록 하겠습니다.
urlpatterns 안에 path를 추가하고 url은 api/로 설정해줍니다.

django.urls의 include를 가져와서 articles의 urls에 연동시켜줍니다.
그리고 articles로 가서 urls.py도 만들어줍니다.
mypjt 의 urls는 이제 완성이 됐고, articles의 urls도 완성을 시켜주러 가봅니다.

해당 url에 인덱스 함수를 매핑시켜줬습니다.
그런 뒤, index 함수를 이제 정의해주러 가봅니다.
여기서 render함수는 html 파일을 렌더링 해주는 거지만, api만 사용할 것이기 가볍게 HttpResponse만 사용해 보도록 하겠습니다.

하지만, 이건 제가 원하는 것이 아닙니다. 저는 JSON형식으로 데이터를 내려주고 싶습니다.
django.http 안에 있는 JsonResponse를 이용하여 다시 데이터를 보내보겠습니다.

자 이제 결과를 확인해보면?

바로 이겁니다.
일단 이렇게 Dajngo 프로젝트를 만든 뒤 JsonResponse를 내려보는 것 까지 상기시켜봤습니다.
기억이 하나도 나지 않을 줄 알았는데 그래도 실습을 그렇게 많이 해서 그런지 손이 알아서 쳐지는게 정말 습관이라는게 무섭다는 생각을 하게 됐습니다.
그럼 다음에는 model을 만들고 더미데이터를 넣어 더미데이터의 JSON을 출력해보는 것을 해보도록 하겠습니다.