DRF - Django Rest Framework
도구 - Visual Studio Code
Extensions
1) Python
2) Django
Terminal
1) 가상환경 셋팅
# 가상환경 생성 #첫 venv 가상환경 선언 하겠다 #마지막 venv venv파일 이름 설정
python -m venv venv
# 가상환경 생성 확인
dir
# 가상환경 진입
venv/Scripts/activate
# 상기 가상환경 진입이 안될시(하단 에러문)
venv/Scripts/activate : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\USER\Desktop\drf\venv\Scripts\Activate.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution
_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
+ venv/Scripts/activate
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
# 관리자 권한으로 실행
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
2) Django, Django Rest Framework 설치
pip install django
pip install djangorestframework
2-1) requirements.txt 업데이트
https://softl.tistory.com/138?category=559456
24. Django DRF requirements.txt 생성
팀 활동을 위해서 자신이 무엇을 설치했는지 공유해할 경우가 있다. 이때, pip freeze > requirements.txt로 파일을 생성해준다. pip freeze asgiref==3.5.2 backports.zoneinfo==0.2.1 Django==4.0.5 djangorestf..
softl.tistory.com
2-2) rest framework 설정 추가
# settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [ # 기본적인 view 접근 권한 지정
'rest_framework.permissions.AllowAny'
],
'DEFAULT_AUTHENTICATION_CLASSES': [ # session 혹은 token을 인증 할 클래스 설정
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication'
],
'DEFAULT_PARSER_CLASSES': [ # request.data 속성에 액세스 할 때 사용되는 파서 지정
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser'
]
}
3) 프로젝트 폴더 설정
# 해당 폴더 안에서
django-admin startproject ProjectName .
# app 만들기
python manage.py startapp AppName
4) 자주 사용하는 설정
- debug = True / False debug 모드 설정. static file 처리, allow host, 에러 페이지 등의 설정이 달라진다.
- LANGUAGE_CODE = 'ko-kr' : 언어 설정
- TIME_ZONE = 'Asia/Seoul' : Timezone 설정
- DATABASES : DB 설정
- INSTALLED_APPS : 사용할 앱 설정
- 실행되는 SQL 쿼리 보기
# https://docs.djangoproject.com/en/1.11/topics/logging/
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
}
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'level': 'DEBUG',
},
}
}
(0.000)
SELECT name, type FROM sqlite_master
WHERE type in ('table', 'view') AND NOT name='sqlite_sequence'
ORDER BY name; args=None; alias=default
(0.000) SELECT "django_migrations"."id", "django_migrations"."app", "django_migrations"."name", "django_migrations"."applied" FROM "django_migrations"; args=(); alias=default
위와 같이 (실행시간) DB에 사용된 코드 를 볼 수 있다.
'Django > Django Rest Framework' 카테고리의 다른 글
| 8. Django DRF rest api에 대한 이해 (0) | 2022.06.18 |
|---|---|
| 7. Django DRF on_delete, DateField (0) | 2022.06.18 |
| 6. Django DRF 프로젝트 구조에 대한 이해 (0) | 2022.06.18 |
| 5. Django DRF database 용어 정리 (0) | 2022.06.18 |
| 4. Django DRF cmd 단축키 (0) | 2022.06.18 |