Web/Django55 Django Celery, Rabbitmq 사용한 비동기 작업 처리 안녕하세요.Rabbitmq 와 Celery 를 사용해서 프로젝트를 하나 만들어 보고 싶었고,ChatGPT 의 힘을 빌려 주제를 추천 받았고, 아래의 배송 서비스를 구현 해 봤습니다. https://github.com/2044smile/shipment GitHub - 2044smile/shipment: python, django, rabbitmq, celery, drf, drf-simplejwt, swaggerpython, django, rabbitmq, celery, drf, drf-simplejwt, swagger - 2044smile/shipmentgithub.com 간단히 프로젝트에 대한 소개를 드리자면, 카카오 로그인, djangorestframework-simplejwt 를 이용하여 토큰을 관리.. Web/Django 2024. 8. 14. Django rest_framework filters 삽질 일기 안녕하세요. 동아리를 하면서 오랜만에 DevOps 가 아닌 Django 를 만지다가 rest_framework.filters import OrderingFilter 삽질 일기를 작성해보겠습니다. 들어가기 전 유튜브 관련 영상과 정보들을 'google-api-python-client' 라이브러리를 사용하고 있습니다. 현재 유튜브 영상에서 조회수, 날짜순, 좋아요순 으로 Filter Ordering 을 사용하고자 합니다. 문제점 class GetYouTubeFromIngredientViewSet(mixins.ListModelMixin, viewsets.GenericViewSet): queryset = YouTube.objects.all() serializer_class = GetYouTubeFromIngre.. Web/Django 2023. 8. 19. Django ORM replace 'for' vs 'bulk_update' 안녕하세요. 오늘은 for vs bulk_update 에 대해서 이야기 해 보겠습니다. 현재 데이터베이스의 수 많은(10만개) 데이터를 값을 변경해야되는 상황입니다. 데이터가 많기 때문에 신중해야 되는데요! 현재 exclude 와 filter를 이용하여 변경해야 되는 데이터는 뽑아둔 상태입니다. file_name = [미국, 한국, 북한] objects.exclude( file_name__contains='북한' ).filter( file_name__contains='한국' ) -- # I don't recommend it for obj in objs: obj.file_name='로또당첨' obj.save() 결과부터 말하자면 당연히 for 문의 패배입니다. 왜냐하면 for는 쿼리를 하나씩 돌리기 때문이.. Web/Django 2022. 9. 30. Django SSH tunneling(AWS SSH) , AWS RDS, inspectDB 안녕하세요 오늘은 Local 에서 AWS SSH Tunnel를 연결한 뒤 AWS RDS를 연결하여, inspect DB하는 과정을 설명하겠습니다. 우리들은 평소에 SSH tunnel은 개인 프로젝트를 할 때는 중요하게 여기지 않습니다. 하지만 회사나 보안을 신경써야 되면 무조건 해야되는 것이 SSH tunnel입니다. SSH 터널링은 암호화된 SSH 연결을 통해 임의의 네트워킹 데이터를 전송하는 방법입니다. 기존 응용프로그램에 암호화를 추가하는 데 사용할 수 있습니다. 또한 VPN(Virtual Private Network)을 구현하고 방화벽을 통해 인트라넷 서비스에 액세스하는 데 사용할 수 있습니다. 위의 사진과 같이 SSH Tunnel이 되지 않으면 접속할 수 없습니다. Local -> EC2 ssh.. Web/Django 2022. 7. 12. [Django] GraphQL 기초 한 방 정리 목차 들어가기 전에 GraphQL 정의 GraphQL vs REST API - GraphQL 장점 - GraphQL 단점 Django에서 GraphQL 실습 - Schema - resolver - Query 들어가기 전에 평소 Django를 사용하면서 RESTful API framework를 주로 사용해왔습니다. 그러던 중 최근 사이드 프로젝트를 진행하면서 GraphQL에 관심을 갖게 되어 찾아보게 되었습니다. GraphQL을 배우면 배울수록 RESTful API를 사용할 때는 몰랐던 불편한 점들이 하나둘씩 보이기 시작했습니다. 들어가기 전에 RESTful API에 대해 간단하게 알아보도록 하겠습니다. REST API란 Web상에 HTTP 프로토콜을 활용한 Application Protocol Inter.. Web/Django 2020. 12. 12. [Django Rest Framework] ModelViewset 동작에 대해 (queryset, get_object) 안녕하세요. 오늘은 DRF ModelViewSet의 동작에 대해 자세히 알아보려고 합니다. 참고 할 자료는 viewsets.py 파일과 공식문서를 보면서 포스팅해보겠습니다. ModelViewSet # Django Rest Framework tutorial class AccountViewSet(viewsets.ModelViewSet): """ A simple ViewSet for viewing and editing accounts. """ queryset = Account.objects.all() serializer_class = AccountSerializer permission_classes = [IsAccountAdminOrReadOnly] 튜토리얼에서 가져온 코드입니다. 우리가 ModelViewSe.. Web/Django 2020. 8. 20. DRF Swagger ImageField Request Samples 에 안보이는 문제 위 사진과 같은 문제가 발생하였습니다. 왼 쪽 아래를 보시면 REQUEST SAMPLES 에는 avatar 라는 필드가 추가가 안된 것을 확인할 수 있습니다. 데코레이터가 없다면 참조 - https://github.com/axnsan12/drf-yasg/issues/95 Web/Django 2020. 6. 23. Django 삽질기 쿼리 지연? 안녕하세요. Django Views 에서 쿼리문이 응답에 끼치는 영향에 대한 질문입니다! 3만개의 uuid를 가지고 있는 리스트타입의 build_uuids 라는 변수가 있습니다. Ex) build_uuids = [_, _, _, _, . . .] A테이블에 sample_uuids 라는 컬럼에는 5만개의 is_build = False 인 상태입니다. A.objects.update(is_build=False) # 1초 print(‘#1’) A.objects.filter(sample_uuids__in=build_uuids).update(is_build=True) # 2초 print(‘#2’) 조건문을 최소화 하기 위해서 위와 같은 쿼리문을 작성하였고, Django Shell 에서 쿼리를 돌렸을 때 짧은 시간안.. Web/Django 2020. 6. 15. Django - 기간 별 회원가입자 수 가져오기 안녕하세요. 오늘은 기간 별 회원가입자 수를 확인하는 미션을 해결해보겠습니다. Member 테이블 안에 date_joined 라는 필드가 있습니다. #1 filter range 기간 별 회원가입자 수를 가져오기 위해서 꼭 필요한 조건 입니다. import pandas from datetime import datetime start_date = request.query_params.get('from_date') # '2020-04-01' end_date = request.query_params.get('to_date') # '2020-04-15' dates = AppAccount.objects.using('account').filter( date_joined__range=[start_range, end_r.. Web/Django 2020. 4. 22. Django - RESTful 한 API 만들기 안녕하세요. 평소 Django REST Framework를 이용하여 API를 만드는데 개념이 안잡혀있는 듯한 느낌이 강해서 한번 복습할 겸 내용을 정리해보려고 합니다. 그 전에 간단하게 테스트할 수 있는 코드를 작성해보겠습니다. api/ 폴더 안에 list.py를 생성해주겠습니다. list.py from django.views.generic import View from django.http.response import HttpResponse class PostListAPIView(View): def get(self, request, *args, **kwargs) return HttpResponse('Hello World') urls.py urlpatterns = [ path('posts/', PostL.. Web/Django 2020. 4. 21. Django - Multiple databases(using, inspectdb) 안녕하세요. 약 2주 전에 실시간 데이터를 다룰 수 있는 Database를 연동하기 위해 ReadOnly Database를 python manage.py inspectdb 하여 models.py 를 생성하여 사용중이였습니다. 이 DB를 A DB라고 말하겠습니다. A DB를 사용하던 중 B DB의 실시간 데이터를 가져오기 위해 데이터베이스가 필요하게되었고, 서로 다른 데이터베이스이기 때문에 NAME, PASSWORD가 달라서 어떻게 접근하고, 어떻게 사용하는지 모르는 상태였습니다. https://docs.djangoproject.com/en/3.0/topics/db/multi-db/ Multiple databases | Django documentation | Django Django The web fra.. Web/Django 2020. 4. 20. Django - 1월~12월까지의 데이터 가져오면서 변수명 만들기 안녕하세요. 1월~12월까지의 데이터 가져오면서 변수명 만들기 오늘은 Django ORM 을 사용하다가 1월~12월까지의 데이터를 한번에 가져오는 방법을 생각하다가 얻은 저만의 방법을 까먹지 않기 위해 포스팅해보려고 합니다. Work라는 테이블이 있고, workday 라는 Datetype의 필드가 있다고 가정하겠습니다. 제가 원하는 값은 달 마다 얼마나 많은 일을 했는지 값을 보고 싶은 상황입니다. 1 2 3 4 5 6 7 8 9 10 11 12 from datetime import datetime today = datetime.now() for i in range(1, 13): # 1~12월의 값을 생성해줍니다. globals()[f'month_{i}'] = Work.objects.filter( wor.. Web/Django 2020. 4. 20. 이전 1 2 3 4 5 다음