- [Django] django-crontab 스케줄러 작성조별하🍃 Crontab crontab은 Linux 운영체제에서 시간 기반 잡 스케줄러이다. 즉, 원하는 시간에 원하는 작업을 수행할 수 있게 해주는 작업 스케줄러라고 보면 된다. 예를 들어 장고에서 로그인을 했을 때, session으로 구현된 로그인이라면 django-session에 session정보가 저장되었다가 로그아웃하면 삭제가 된다. 하지만 브라우저가 닫히거나 만료시간이 지나게 되면 session정보는 유지되며 로그아웃 처리가 되기 때문에 계속되는 로그인 많아지면 불필요한 session 데이터가 쌓여 자리를 차지하게 된다. 이때 특정 시간이 되면 만료가 된 session정보를 삭제해 줬으면 좋겠다. 위의 기능을 대신 해주는 것이 바로 crontab!!이다. 🌱 django-crontab 설치 먼저 다음..
- 2023-05-22 19:17:06
- [Docker] docker-compose를 이용한 프로젝트 배포조별하✔️ EC2서버에서 일반적인 Django를 이용한 서버 배포 작업도 도움이 많이 되었다. ❗️ 요즘 추세로 DepOps에서 이용되는 MSA형태의 서버 배포 방식의 기본이 되는 Docker 배포 방식을 익히기 위해 docker-compose로 프로젝트를 배포해 보려고 한다. 🍃 EC2 1. 깃허브 repo 서버로 이동 ➤ 프로젝트 폴더 생성 $ mkdir workspace ✔️ 프로젝트 작업물이 들어가 폴더를 생성한다. ➤ Git repo 받기 $ git clone -b ✔️ 현재 main 레포지터리는 최신 상태가 아니기 때문에 develop 레포지터리를 clone 받도록 하자. 2. 서버에서 사용될 패키지 update 및 설치 ➤ 사용 가능한 패키지 및 버전 정보 업데이트 $ sudo apt update..
- 2023-05-08 19:32:25
- [ISSUE] Tag 포함된 Site 모델의 serialize 처리조별하[22.11.27] 🍃 구현하고자 하는 화면 1. 이전 개발 단계에서 사이트를 등록하여 해당 사이트에 Tag를 Many-to-Many관계로 등록하는 진행 2. 이제 태그가 등록된 사이트를 최신순으로 4~6개 조회 후 등록된 모든 태그를 조회하여 하단에 Tag button형태로 동적으로 뿌려주는 작업을 진행할 것이다. 3. 위와 같이 진행하기 위해서 Site항목을 조회할 뿐 아니라 Many-to-Many관계로 등록된 태그도 조회를 해야하기 때문에 Serializer 작업을 진행하게 되었다. 물론 api 2개를 요청하여 각각 사이트 데이터, 태그 데이터 조회할 수도 있지만 2번을 요청한다는 것 자체가 비효율적이며 drf에 존재하는 serialize를 활용하지 못한다고 판단 1. views.py > TagsA..
- 2023-05-06 17:34:18
- [ISSUE] ManytoMany 관계를 가진 두 모델 Bulk Create 작업조별하[22.11.26] 🍃 ManytoMany 관계를 가진 두 모델 Bulk Create 작업 ✔️ 현재 위와 같이 등록된 항목에 대해 태그를 추가하는 기능을 개발 구현 중이다. 등록된 항목은 Scrap Parsing을 통해 특정 사이트에 관련한 url, 썸네일, 제목 등을 저장하여 접근할 수 있게 구현한 현황 화면이다. 특정 사이트를 선택하여 bulk(다중)로 태그를 등록할 수 있게 스크립트 구현 선택한 각 Site와 Tag Model이 ManytoMany 관계로 데이터 모델링 1. 모델 코드 📌 Tag Model class Site(models.Model): """ 항목에 관한 데이터 모델 """ title = models.CharField(verbose_name='타이틀', max_length=100)..
- 2023-05-06 17:01:57
- [ISSUE]decorator를 이용한 중복작업 전처리조별하[22.11.26] 🍃 중복되며 각 함수의 사전에 처리되는 작업 decorator 📌 SiteBulkAPIView - 벌크 즐겨찾기, 삭제 class SiteBulkAPIView(APIView): """ 벌크 항목 즐겨찾기, 삭제 api """ def get_list(self): pk_ids: list = self.request.data.get('pk_ids') return get_list_or_404(Site, id__in=pk_ids) def validate_ids(self): pk_ids: list = self.request.data.get('pk_ids') for id in pk_ids: get_object_or_404(Site,id=id) return self.get_list() def put(..
- 2023-05-05 01:02:19
- [ISSUE] gernerics view, DestroyAPIView 적용조별하[22.11.20] Try to apply generics DestroyAPIView Generics View를 사용하지 않는 이유 ✔️ DRF로 서버단을 rest_framework가 지원해주는 generics View를 사용하지 않고 APIView만을 이용하여 프로젝트를 진행하기로 결정하였다. ✔️ 그렇게 결정한 이유는 generics 한 View를 사용하면 코드가 간결해지고 개발하기 편리해지긴 하지만 팀 프로젝트를 진행하며 그렇게 간결해지고 작동되는 로직을 파악하지 않고 무분별하게 사용하는 것을 우려하여 처음에는 자유롭게 customizing이 가능한 APIView를 사용하기로 했다. APIView로 작성된 Bulk Delete ✔️ 항목을 다중으로 삭제하기 위한 기능 개발을 위해 클라이언트 단에서 ..
- 2023-05-05 00:09:44
- [Django] 다양한 템플릿 태그조별하게시판과 페이징을 구현하며 템플릿 태그를 사용하였다. ✔️ {% csrf_token %}: 서버와 api 통신에 필요한 크로스 사이트 요청 위조를 방지하기 위해 사용되는 태그 ✔️ {% if %}{% else %}: 조건을 이용하여 html에서 python 문법 사용 가능 ✔️ {% for item in items %}: for 루프를 이용하여 html에서 python 문법 사용 가능 🍃 순차적 출력 cycle ✔️ 게시판을 구현하면서 부트스트랩으로 디자인을 입히고, 짝수와 홀수 라인의 백그라운드 색상을 다르게 주었다. 아이디 유저이름 이메일 가입일 페이플랜 가격 {% for user in users %} {{ user.id }} {{ user.username }} {{ user.email }} {{ u..
- 2023-05-04 02:01:22
- [Django] django-seed를 이용한 데이터 만들기조별하장고 게시판을 구현하기 위해 django-seed를 이용하여 임의의 데이터를 만들어보았다. 하지만 무작위 데이터를 생성하기 때문에 이번에는 코드를 작성하여 내가 원하는 데이터를 생성해보려고 한다. ➤ 둘러보기 : Django 게시판 🍃 seed를 이용하여 데이터 생성하기 1. django-seed 설치 $ pip3 install django-seed $ pip3 install psycopg2 $ pip3 freeze > requirements.txt ✔️ 먼저 데이터를 생성할 수 있게 도와주는 seed를 설치하자. 📌 무작위 데이터 생성 방법 $ python3 manage.py seed shortener --number=30 ✔️ 코드 작성 없이 seed만 사용하여 app에 작성된 모델의 데이터를 무작위..
- 2023-05-03 20:17:35
- [Django] Django 커스텀 커맨드 만들기조별하📌 Django로 커스텀 커맨드 만들기 장고 manage.py에 사용자 지정 커맨드를 만들어 사용할 수 있다.커스텀 커맨드를 작성하는 것으로 manage.py부터 사용할 수 있는 커맨드를 늘릴 수가 있다. 지금부터 원하는 기능을 커맨드로 만들어서 사용하여 보자. 사용자 지정 커맨드 개요 모델 만들기 커맨드 작성 커맨드 실행 커맨드 자세히 알아보기 📌 사용자 지정 커맨드 개요 Django 커스텀 커맨드는 Django에서 생성하는 앱마다 만들 수 있으며, 커스텀 하여 만들어진 커맨드는 manage.py에서 실행할 수 있다. 예를 들어 내가 showuser라는 커맨드를 만들면 아래와 같이 사용할 수 있게된다. python3 manage.py showuser Django에서 관리용으로 모델을 조작하거나 참조하고..
- 2023-05-02 23:11:07
- [Django] debug_toolbar 사용하기조별하Django debug_toolbar란? ➤ 디버그 툴바의 기능 - 현재 request / response에 대한 다양한 디버깅 정보 확인 가능 - 다양한 Panel 지원하며, SQL Panel을 통해 각 요청 처리 시 발생한 SQL 내역 확인 가능 - 단, Ajax 요청에 대한 지원은 불가능 하다고 한다. Django debug_toolbar 설치 Django Debug Toolbar — Django Debug Toolbar 3.7.0 documentation © Copyright 2022, Django Debug Toolbar developers and contributors Revision 4cf595c8. django-debug-toolbar.readthedocs.io ➤ django-debug-..
- 2023-04-06 21:41:18
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)