일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 배열
- 개발자
- 해결
- docker
- 명령어
- dfs
- 스프링 부트
- HTTP
- 스프링
- 해시맵
- IntelliJ
- 백엔드
- spring boot
- 도커
- 구름LEVEL
- Linux
- 구현
- HashMap
- 스타트업
- 이직
- 코딩테스트
- 주니어
- 스프링부트
- 프로그래머스
- bfs
- 문자열
- 자료구조
- 인텔리제이
- spring
- Java
- Today
- Total
목록개발지식/Django (5)
마이의 개발 블로그
배경 스프링과 FastAPI를 각각 사용하여 서버를 개발 하던 중 두 서버 모두 로그를 파일로 저장하는 기능이 필요했습니다. 두 프레임워크 모두 로깅은 기본적으로 제공하고 있었는데 스프링에서는 간단한 설정만으로 파일 크기와 시간(일별 기록)을 모두 고려한 파일 롤링 정책 적용이 가능했지만, 파이썬에는 두 경우에 각각 대응되는 파일 핸들러들을 분리하여 제공하고 있습니다. 파이썬에서도 스프링에서처럼 파일 크기와 시간(일별 기록) 둘 다를 고려한 핸들러가 필요하여 해당 내용을 탐색했습니다. 문제 파이썬의 logging 라이브러리는 TimedRotatingFileHandler와 RotatingFileHandler를 제공합니다. 전자는 이름 그대로 시간을 기준으로 롤링 정책을 적용하는 핸들러이고, 후자는 파일의 ..
현재 수행 중인 프로젝트는 Auth0라는 서비스를 연결하여 로그인 기능을 구현하고 있다. 개발요구사항 중 유저의 이메일 인증여부를 확인하여 인증이 아직 안 된 경우 메인화면 이외의 페이지에 접근을 제한해달라는 내용이 있어, Auth0에서 제공하는 email_verified 필드를 활용한 예제를 제시해보려고 한다. email_verified 필드에 관한 설명은 Auth0 공식문서에서 살펴볼 수 있는데 간단히 요약해보면, 1) Auth0를 통해 회원가입 시, 입력된 주소로 이메일 인증링크를 발송함 2) 인증링크를 클릭하여 이메일 인증을 완료했는지 여부를 email_verified 필드를 통해 알 수 있음 3) email_verified 필드의 사용은 optional임 나는 유저가 로그인할 때마다 이메일 인증..
장고 어드민에서 엑셀 업/다운로드 기능을 손쉽게 사용할 수 있도록 해주는 import-export 모듈의 사용법이다. 1. 아래 명령어를 입력하여 모듈 설치 pip install django-import-export 2. settings.py 파일 - INSTALLED_APPS에 모듈명(import_export, 언더바 주의) 추가 INSTALLED_APPS = [ ..., "import_export", ... ] 3. 사용하고자 하는 앱의 admin.py 파일 내 모듈을 추가하고자 하는 Admin 클래스에 ImportExportMixin 추가 from django.contrib import admin from import_export.admin import ImportExportMixin ... cla..
제출된 폼의 확인 페이지를 구현하는 경우 폼의 input들을 일괄적으로 readonly 또는 disabled로 변경해야할 때가 있다. 보통은 렌더링 이후에 자바스크립트로 input값들의 disabled 속성을 true로 만드는데(input.disabled = true), 장고에서는 뷰에서 템플릿으로 폼을 생성하여 보내는 중간에 폼의 필드 속성을 변경하여 처음부터 disabled 된 채로 출력하게 하는 방법도 있어 이를 소개하고자 한다. in views for field in form.fields: form.fields[field].widget.attrs['disabled'] = True 이렇게 하면 이 폼을 전달받은 템플릿에서 폼을 렌더링 할 때 이미 모든 input이 disabled된 채로 출력되어 별..
장고 프레임워크에서는 Formset을 활용하여 여러 개의 폼을 저장하고 관리할 수 있는데, 뷰에서 Formset을 생성하여 템플릿으로 보내면, 기본적으로 비어있는 폼 한 세트가 포함된다. 매번 한 개 이상의 폼이 저장되어야 하는 페이지라면 상관없으나, 상황에 따라 폼을 렌더링하지 않도록 컨트롤 할 수도 있어야 하는데 이때 폼의 empty_permitted 속성을 활용하여 문제를 해결할 수 있다(공식 문서와 검색을 통해 발견한 내용들은 대체로 empty_permitted를 폼 자체에 선언하여 사용하는 방식이였으나, 나의 경우에는 폼에 필수 입력값들이 있어 이를 장고 validator를 통해 validate하는 과정을 무조건 거쳐야 했고 필요에 따라 빈 폼을 렌더링하기도 해야했기에 필요에 따라 빈 폼을 렌더..