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 등은 보기가 싫다.