[ Django Channels ] Django Channels 는 Django 로 HTTP 를 넘어 WebSockets, chat protocols, IoT protocols 등을 핸들링하고 싶을 때 사용합니다. ASGI 기반이라고 하고 다음과 같은 패키지들로 구성되어있습니다. Channels is comprised of several packages: Channels, the Django integration layer Daphne, the HTTP and Websocket termination server asgiref, the base ASGI library channels_redis, the Redis channel layer backend (optional) [ 설치 ] Daphne ASGI ..
[1] ModelAdmin 장고의 Admin 문서를 보면 ModelAdmin 에 대한 설명이 나옵니다. ModelAdmin은 admin interface에서 모델을 표현하는 클래스라고 합니다. admin.py에 이런 식으로 추가해서 쓰면 됩니다. 위 예제처럼 Admin 클래스에 custom values를 define 하지 않는 경우, 보통 이렇게만 씁니다! [2] ModelAdmin > search_fields Admin 클래스에 search_fields를 define하면 admin list page에서 search box를 사용할 수 있습니다. 예를들어 이런 Family 모델이 있을 때, class Family(models.Model): join_date = models.DateTimeField() c..
[ 이슈 ] 장고의 로컬에서 기본적으로 SQLite3 를 씁니다. 헤로쿠(기본이 PostgreSQL)에 배포한 후, 리얼에서도 로컬의 sqlite 파일을 그대로 쓰고 싶었는데 (로컬 데이터를 그대로 쓸 것이고 더이상 추가/수정할 것이 없는 간단 프로젝트여서!) 헤로쿠는 SQLite3 같이 file-based database 와 fit이 안맞다고 하고 쓸 수 있는 방법도 없는 것 같습니다. (참고) 로컬에 있는 데이터를 리얼로 옮기는 게 목적이니까 How to migrate Django from SQLite to PostgreSQL 를 보고 따라해줍니다. [1] 로컬 > dump data 로컬에서 이 명령어를 돌려서 dump.json을 만들어줍니다. 로컬에 존재하고 있는 데이터를 dump.json 파일에 ..
성경 API, 성경 데이터 이것저것 찾아보다가 SQL 스크립트가 공유되고 있는 것을 발견! - 개역한글 SQL 공유해주신 블로그 (저작권 이슈 없음!!) - 개역개정 SQL 공유해주신 사이트 (저작권 이슈 확인 안됨) 확장자는 sql이고 열어보면 TABLE 만들고 레코드 insert 하는 SQL문들이 잔뜩 있다. ✔️ 이 스크립트로 나의 장고 DB에 데이터를 추가하고 ✔️ 이 형식에 맞춰서 장고 모델을 만들고 ORM 방식으로 get 요청을 처리하는 것을 해볼 것이다. [1] SQL 스크립트를 돌려서 DB에 데이터 추가하기 1️⃣ executescript (파이썬 공식 문서) / How to execute an external SQL file using sqlite3 in Python (블로그) 2️⃣ P..
[1] 이슈 며칠 전 헤로쿠로부터 메일을 받았다. 나의 DB는 8,027 row를 가지고 있는데 내가 사용 중인 PostgreSQL DB Hobby Dev Plan (무료)는 최대 10,000 row만 insert 가능하다는 것이였다. 10,000 row를 넘어가면 더이상 insert가 되지 않고 plan을 준수하게 될 때 insert 권한이 자동 복구된다고 한다,,, database를 Basic ($9/month) or higher plan으로 마이그레이션 하라고 했다,,, 참고로Heroku > My App > Resource > Add-ons Heroku Postgres 선택하면 현재 row 개수, 최대 row 개수 등 DB 상태 및 설정을 볼 수 있다. 사용자가 늘고 있는 추세라서 migration..
장고의 Making queries 문서를 정리합니다 ✏️ [Django] 쿼리문 (create, update, delete) 에서 이어지는 글 입니다! [ Retrieve 원리 ] 장고는 Manager라는 객체를 모든 Model class에 디폴트로 추가합니다. objects 라는 이름으로 추가되는데, 원한다면 objects 대신 다른 이름을 쓰도록 바꿀 수 있습니다. (하지만 바꾸는 사례를 본 적이 없습니다,,,,) 모델 클래스에 있는 이 Manager를 통해 QuerySet을 얻어오는 방식으로 database에서 objects를 retrieve 합니다. [ QuerySet ] QuerySet 은 database에 있는 objects의 모음(collection)을 말합니다. 예를들어 어떻게 생겼는 지(..
장고의 Making queries 문서를 정리합니다 ✏️ 우선 여기서 말하는 쿼리문은 SQL 쿼리문이 아닙니다. Model 을 만들면 장고는 자동으로 database-abstraction API를 제공합니다. 이 API를 통해서 create, retrieve, update, delete 쿼리문을 작성할 것입니다. retrieve는 다음 글에 작성하고 이 글에서는 create, retrieve, update 만 살펴보겠습니다. 우선 장고의 DB 컨셉을 간단히 다시 보면 (참고: [Django] 튜토리얼 part 2 (1) - 모델, 데이터베이스) model class는 database table, model class의 instance는 database table의 각각의 record를 의미합니다. 그럼 ..
[ 인트로 ] 오늘 오후 3시쯤 애플 쪽으로 개발자님 메일주소를 공유받았다면서 비밀번호 초기화를 하고 싶다는 메일을 받았다. (비밀번호를 잊으셔서 다시 로그인을 못하는 상황이셨다) 개인 앱이지만 앱에 문의할 수 있는 이메일도 안남겨놓고 계정이 있는 앱이라면 필수인 아이디 찾기, 비밀번호 재설정, 탈퇴하기도 안붙인 내 자신이 너무 부끄럽고 죄송스러웠다,,, 양파가족을 너무너무 잘쓰고 있고 얼른 다시 재개하고 싶다는 메일을 보고 저녁약속 전 무조건 대응해드리고 간다 🔥🔥 라고 생각하고 가장 빠른 방법으로 대응해드렸고 기록을 남긴다. (이렇게 주절주절 쓰는 이유는 Django의 기본 기능이 너무 잘되어있고 간편해서 이런 급한 상황에서도 빨리 적용할 수 있다는 것을 강조하고 싶어서이다,,,) (사실 처음부터 이..
[1] 장고의 기본 DB 설정 아래 명령어로 장고 프로젝트를 만들면 django-admin startproject sample_api 이렇게 파일이 구성됩니다. settings.py에 들어가보면 장고는 기본 DB로 sqlite를 쓰는 것을 알 수 있습니다. SQLite는 주로 소규모 프로젝트에서 사용되는 파일기반의 가벼운 데이터베이스 입니다. 보통 초기 개발 단계에서 SQLite를 사용하여 빠르게 개발하고 서비스로 제공할 때 운영환경에 어울리는 데이터베이스로 바꾼다고 합니다. 대규모 서비스에는 오라클 / 소규모 서비스는 PostgreSQL, MySQL 등의 데이터베이스를 많이 사용합니다. 그리고 데이터베이스를 여러 개 사용할 때 default에 지정한 데이터베이스 외에도 추가로 등록해서 사용할 수 있다고..
[1] heroku의 Add On 헤로쿠에서는 앱에서 사용하고 싶은 추가 기능을 add-on 할 수 있습니다. Add-on elements (elements.heroku.com/addons) 에서 검색해서 원하는 기능을 추가하면 됩니다. 나의 앱 > Resources > Add-ons 에 들어가서 추가하면 됩니다. [2] Add On에서 Scheduler 검색 저는 특정 작업을 매일마다 반복해주는 기능이 필요해서 Scheduler라고 검색을 했어요 저는 이중에 꾸준히 무료로 쓸 수 있는 Heroku Scheduler를 선택해줬습니다. (다른 것은 유료거나 trial만 무료더라구요..) 하지만 무료여도 Install 누르면 크레딧 카드를 등록해야한다고 나옵니다. dashboard.heroku.com/acc..
- Total
- Today
- Yesterday
- drf custom error
- ipad multitasking
- 플러터 얼럿
- flutter build mode
- flutter deep link
- METAL
- Flutter Clipboard
- Flutter 로딩
- Flutter Spacer
- 구글 Geocoding API
- 플러터 싱글톤
- Django FCM
- flutter dynamic link
- Flutter getter setter
- flutter 앱 출시
- DRF APIException
- PencilKit
- Flutter Text Gradient
- 장고 URL querystring
- github actions
- SerializerMethodField
- cocoapod
- Django Firebase Cloud Messaging
- Django Heroku Scheduler
- Watch App for iOS App vs Watch App
- ribs
- Dart Factory
- Python Type Hint
- Sketch 누끼
- 장고 Custom Management Command
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |