장고5 (Django) RabbitMQ + Celery 먼저 Celery 연동을 위해 pip install celery pip install django-celery-results pip install django-celery-beat 설치를 해주고 파일 설정을 해준다. # 프로젝트/Settings.py INSTALLED_APPS = [ ... 'django_celery_beat' 'django_celery_results' ... ] # Celery CELERY_BROKER_URL = 'pyamqp://{ID}:{PWD}@localhost:5672' # 로컬용 -> 도커로 뭐 바꿔야 하는건가? CELERY_BROKER_CONNECTION_RETRY_ON_STARTUP = True CELERY_RESULT_BACKEND = 'django-db' CELERY_A.. 2024. 1. 22. Django urls.py - path, re_path path의 Path converter **기본 제공되는 Path Converter** IntConverter - r"[0-9]+" StringConverter - r"[^/]+" UUIDConverter - r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" SlugConverter (StringConverter 상속) - r"[-a-zA-Z0-9_]+" PathConverter (StringConverter 상속) - r".+" re_path의 정규 표현식 **정규 표현식 패턴 예시** 1자리 숫자 - "[0123456789]" 혹은 "[0-9]" 혹은 r"[\\d]" 혹은 r"\\d" 2자리 숫자 - "[0123456789][0123456.. 2024. 1. 22. Serializer를 이용한 RESTAPI 구현 RESTAPI 를 사용함에 있어서 Serializer를 사용하였는데 직렬화라는 뜻이라고 한다. 대충 기존 Django 모델을 json 형태로 응답을 할 수 있게 해주는 것이다.. 코드로 한 번 보자 지금 하려는 예시코드 의 주제는 사용자의 이름, 원작동화, 성별, 나이로 초기 정보를 받은 후 원작동화를 각색하는 것으로 그 원작 동화 안에서 새롭게 이야기를 만드는 주제이다! 아래의 model은 첫 시작인 초기정보를 저장하는 model이라고 보면된다. 내가 하려는 것은 클라이언트에게 user_id, username, fariytale, gender, age를 받고난 후, 다시 클라이언트에게 새롭게 생성된 책의 book_id와 받았던 초기 정보를 다시 응답해주는 api를 만들려고 한다. # book/model.. 2024. 1. 13. 파이썬 django drf-yasg 스웨거 연동 터미널에서 drf-yasg 패키지를 설치한다 pip install drf-yasg settings.py 파일의 INSTALLED_APPS에 추가해준다. INSTALLED_APPS = [ ... 'drf_yasg', ... ] 해당앱의 디렉터리.views.py 파일 안의 api 메소드 위에 swagger_auto_schma를 달아준다 # @swagger_auto_schema(method='메소드', request_body='serializers의 클래스 명' @swagger_auto_schema(method='post', request_body=BoardCreateSerializer) 맨 처음 만들어지는 앱 디렉터리의 urls.py 파일에 해당 코드를 입력한다. # import 같은 경우 아래에 schem.. 2024. 1. 13. zsh: command not found: python mac 강의 듣다가 python으로 장고를 install 하려는데 제목과 오류가 났다.. 이럴때는 간단하게 which python3 명령어를 입력해주고 아래 경로가 뜨면 echo "alias python=/Library/Frameworks/Python.framework/Versions/3.12/bin/python3" >> ~/.zshrc echo "alias python=나온 경로" >> ~/.zshrc 이렇게 환경 변수 설정을 해주면 된다! 2023. 12. 29. 이전 1 다음