
account 앱의 username 을 foreign key 로 comment 앱에 연결하였다.

https://www.gitignore.io/
위 사이트에서 프로젝트에 사용하는 환경에 해당하는 키워드를 선택하면 자동으로 .gitignore 파일에 정의할 요소들을 생성해 준다.
가령 나의 경우에는 mac, django, vim, python 이런 식으로 키워드를 입력하면 된다.
이제 생성된 결과물을 복사한 뒤 바로 아래의 과정을 거쳐 내용을 저장한다.
cd '프로젝트 폴더명'
touch .gitignore
vi .gitignore #이후에 복사한 내역을 붙여넣어 준다.

INSTALLED_APPS = [
...
'django.contrib.staticfiles',
'corsheaders'
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
##CORS
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)
팀 프로젝트 진행 시 코드를 처음 전달받는 사람도, requirements.txt 를 보고 바로 동일한 환경을 구성할 수 있도록 정보를 전달해야 한다. 그러기 위해 존재하는 것이 requirements.txt 이고 작성법은 아래와 같다.
pip freeze > requirements.txt
pip freeze 는 현재 로컬 환경에 설치된 파이썬 모듈 정보를 보는 명령어 이고 이 pip freeze 의 결과를 requirements.txt 에 기록하는 것이다.
settings.py 내 DATABASE 설정 및 SECRET_KEY 부분을 삭제한다.
물론 SECRET_KEY 부분은 삭제하기전 별도의 메모장에 복사해 붙여넣어 주는 것을 잊지 말자.
별도의 참조용 파이썬 파일을 하나 생성해서 참조하기
가이드에서는 아래와 같지만,
django-admin startproject '하고싶은 프로젝트 명'
cd '생성한 프로젝트 폴더명'
touch my_settings.py
나의 경우는 기존 생성한 westagram_project 프로젝트 폴더 내에 들어가서 'my_settings.py' 파일을 생성하였다.
그런데 데이터 베이스를 기존에 사용하던 sqlite3 가 아닌 MySQL 을 사용할 것이기 때문에, 아래 링크를 통해 'westagram' 이라는 데이터베이스를 만들어 주도록 한다.
MySQL 데이터베이스 설정하기

또는 아래 사이트를 참조해 보도록 하자.
https://wave1994.tistory.com/67?category=872868
딕셔너리 형태로 넣어져 있는 부분을 잘 기억해야 한다.

서버는 여려개의 도메인을 가질 수 있는데, 그 중에 허용할 도메인을 입력
ALLOWED_HOSTS = ['teddyjung.guthub.io']
ALLOWED_HOSTS = ['*'] # 모든 도메인에 대해서 허용

이 파일은 깃 저장소에 공유하지 않을 것이므로, .gitignore 파일에도 등록해야 한다.

네이버에 검색하는 방법이 아니였다. 검색하는 방법은 두 가지가 있다.
pip install ifconfig 로 설치해 주고 ifconfig 를 입력하고 엔터를 쳐서 나오는 내역들 중에서 en0 의 inet 을 확인하는 방법이 있다.

하지만 와이파이 나 통신 등의 재접속을 하게 되면 주소가 바뀌게 되므로 이 부분은 프론트엔드에서 아마 변수에 넣어주는 과정이 필요하다고 들었다.
system preferences > network > status:connected 하단에 나오는 주소를 그대로 참조하기.

10.58.4.153.:8000/account/signup email username password
10.58.4.153.:8000/account/signin email password
10.58.4.153.:8000/comment user user_comment
보내기 전 httpie 로 테스트 해보니 잘 작동하고 있었다.


진행한 프로젝트 상위 경로에서 ( manage.py 파일 있는 곳 ) python manage.py runserver 0:8000 로 실행한다.
MySQL 서버도 동시 개장한다.
mysql.server start
mysql -u root -p
enter password
show databases;
use westagram;


회원가입과 로그인이 잘 진행되는 것을 확인 할 수 있었다.

MySQL 내에서 select * from accounts; 를 통해 많은 수의 가입자 내역을 알 수 있었다.

댓글 확인도 진행되었다.
account 에 대한 블로그 정리를 완료하였지만 comment 앱에 대한 블로그 정리도 진행해야 겠다. 왜냐하면 프론트엔드와 맞추기 전 댓글 comment 에 대해 account 앱의 user 를 foreignkey 로 연결하여야 했는데 이 부분에서 좀 난항을 겪었다.
comment 앱을 만드는 데 있어 데코레이터에 대한 이해와 적용이 필요했다. 나의 경우는 아직 초반 파이썬 리플잇 데코레이터 문제를 풀었던 기억을 제외하고는 개념이 전무하다시피 했다. 물론 관련해서 재귀호출, 클로저 등에 대해 학습을 하면서 이해했으나 데코레이터에서 막혔다.
다음주 1차 프로젝트를 진행하면서 이 데코레이터를 적용해 본다면 이해도가 좀 높아지지 않을까 하는 기대감이 있다.
foreignkey, onetoone, onetomany, manytomany 에 대한 이해도 부족
QuerySet 에 대한 이해도 부족
프론트엔드 개발자와 소통하고 연결하고 테스트 한다는 느낌이 이렇구나.
status code 200 을 보는 것이 너무 좋다.
400, 500 등은 보기가 싫다.