1. 프로젝트 설정 및 준비
0. ERD, API 설계
URL | HOST | METHOD | 기능 |
/api/users/signup/ | localhost | POST | 회원가입 |
/api/users/login/ | localhost | POST | 로그인 |
/api/users/login/refresh/ | localhost | POST | token refresh |
/api/users/<int:id>/ | localhost | GET / PUT / DELETE | 내 정보, 회원정보 수정, 회원탈퇴 |
/api/todolist/ | localhost | GET / POST | todolist 조회, todo 생성 |
/api/todolist/<int:id>/ | localhost | GET / PUT / DELETE | todo 조회, 수정, 삭제 |
1. git에서 새 리포지토리를 생성 & 새폴더 만들기
2. 가상환경 설치 및 활성화
3. pip install로 필요한 패키지들 설치
pip install djangorestframework
pip install djangorestframework-simplejwt
pip install django-cors-headers
pip freeze > requirements.txt # requirements.txt파일에 설치한 패키지들 저장
4. .gitignore 파일 생성 https://www.toptal.com/developers/gitignore
5. 프로젝트 생성
django-admin startproject myproject "."
# . 을 붙여줘야 경로가 안바뀜
6. .env파일 설정 (참고 : https://sogummi.tistory.com/101)
내일배움캠프 TIL 32일차
Today I Learned 1. Django에서 .env파일을 통한 시크릿 키 처리 - 장고 프로젝트 생성 시 메인폴더에 있는 settings.py에 SECRET_KEY가 있다. - SECRET_KEY가 노출될 시 Django의 보안기능이 상실될 수 있기 때문에 gi
sogummi.tistory.com
2. GitHub에 push하기
1. git init 등 설정하기
2. git add . / git commit -m / git push -u origin main
3. 앱 만들기 / 세팅하기
1. 앱 만들기
django-admin startapp <앱이름>
2. 메인폴더 settings.py 세팅
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders', # CORS 처리
'rest_framework', # 추가해주기
'rest_framework_simplejwt', # 추가해주기
'users', # 앱 이름
'todo', # 앱 이름 ( "," 붙여야함 주의)
]
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'
AUTH_USER_MODEL = "users.User"
SIMPLE_JWT = {
"ACCESS_TOKEN_LIFETIME": timedelta(minutes=800),
"REFRESH_TOKEN_LIFETIME": timedelta(days=1),
}
CORS_ORIGIN_ALLOW_ALL = True # 모든 도메인에서 요청을 허용하려면 True로 설정
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
}
# 코드 전체 추가
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware', #상단에 추가, CORS 처리
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
4. Runserver
python manage.py runserver로 서버 실행해보기
'Django' 카테고리의 다른 글
DRF(Django Rest Framework)와 RESTfulAPI (0) | 2023.05.08 |
---|---|
Django를 이용해서 화면 띄우기 (Django 맛보기) (0) | 2023.04.04 |
프레임워크 Django 기초 (0) | 2023.04.03 |