이 문서를 보고 Custom Management Command를 만들어보도록 하겠습니다. [1] Custom Management Command란 우선 Management Command란 우리가 자주하는 기본 명령어들을 말합니다. (python manage.py로 시작하는) python manage.py runserver python manage.py migrate 그럼 Custom Management Command란 아래와 같은 명령어를 의미하는 거겠네요-! ptyhon manage.py 나의 커스텀 액션 [2] 문서보기 장고의 앱들은 각각의 액션을 manage.py에 등록할 수 있습니다. 예를들어 polls앱에서는 closepoll이라는 custom command를 만들어서 돌리고 싶을 수 있겠습니다...
[Flutter] Firebase Cloud Messaging 연동 + 파베 콘솔에서 푸쉬보내기 에서 푸쉬를 받는 클라이언트(iOS, 안드로이드) 쪽 설정을 해줬는데요 이제 푸쉬를 보내는 서버쪽 작업을 해주겠습니다. 문서 중 서버환경 쪽 보면 됩니다. [1] Firebase 클라우드 메시징의 서버 구성요소 우선 Firebase 클라우드 메시징의 서버 측 구성요소는 2가지입니다. Google에서 제공하는 FCM 백엔드 서버 로직이 실행되는 앱 서버 저의 앱 서버가 FCM 백엔드에 메시지 요청을 보내면 FCM 백엔드는 사용자 기기에서 실행되는 클라이언트 앱에 메시지를 보내는 플로우입니다. [2] 나의 서버가 FCM 서버랑 상호작용하는 방법 FCM 서버랑 상호작용하는 방법은 여러가지가 있는데요, 저는 문서에서..
첫 번째 장고 앱 작성하기, part 6 따라해본 것을 기록 🏋️♀️ 그동안 만든 Poll앱에 stylesheet와 image를 추가해볼 것입니다. 정적 파일이란 web application을 만들때, 서버에서 생성된 HTML을 제외하고 전체 웹 페이지를 렌더링하는 데 필요한 추가적인 파일들을 제공해야합니다. 예를 들어 이미지, JavaScript, CSS가 있습니다. 장고에서는 이런 파일들을 "정적 파일" 이라고 부릅니다. 작은 프로젝트에서는 웹 서버가 정적 파일을 찾을 수 있는 곳에 보관할 수 있기 때문에 큰 문제가 되지 않습니다. 그러나 대규모 프로젝트에서는 특히 각 애플리케이션이 제공하는 여러 정적 파일 세트를 처리하는 여러 앱으로 구성된 프로젝트라면, 까다로워지기 시작합니다. 그래서 djang..
Question의 pub_date가 미래로 설정되어있다면, 미래의 그 시기가 되면 해당 질문이 게시되지만 그 전 까지는 질문이 보이지 않아야합니다. 하지만 현재 poll 앱은 pub_date필드가 미래인 질문까지도 포함하여 게시합니다. 이것을 뷰 테스트와 함께 개선해보겠습니다. 테스트 환경 및 클라이언트 세팅 Django는 뷰 레벨에서 코드와 상호 작용하는 사용자를 시뮬레이트하기위해 테스트 클라이언트 클래스 Client를 제공합니다. 이 테스트 클라이언트를 tests.py또는 shell에서 사용할 수 있습니다. 우선 Shell에서 먼저 사용해보겠습니다. 아래 코드로 Shell을 열고 Shell에서 테스트 환경을 setup 해주세요. django.test.utils 문서를 보면 test환경을 setup, ..
첫 번째 장고 앱 작성하기, part 5 를 따라해본 것을 기록 ⛷ polls 앱을 만들었는데 여기에 자동화된 테스트를 작성할 것입니다. 자동화된 테스트 자동화된 테스트란 무엇일까요 -? 이전 튜토리얼 2장에서 shell 을 사용하여 메소드의 동작을 검사하거나 애플리케이션을 실행하고 어떻게 작동하는지 확인하기 위해 데이터를 입력해서 테스트했습니다. 이것은 우리 손으로 직접 돌린 수동 테스트입니다. 반면 자동화된 테스트란 시스템에서 테스트를 돌려주는 것입니다. 한 번 테스트 세트를 작성한 이후에는 앱을 변경할 때 수동 테스트를 수행하지 않아도 원래 의도대로 코드가 작동하는지 확인할 수 있습니다. ==> 튜토리얼의 설명을 요약하자면, 일일이 shell에 찍어보지 않아도 테스트들을 작성해두면 아래의 명령어로 ..
https://api.github.com/users/사용자이름 으로 요청하면 아래 같이 Github user 정보가 들어있는 JSON을 줍니다. localhost:8000/rest-api-test/user?username="사용자이름" 으로 접속하면 저 api를 호출해서 JSON을 넘겨주도록 만들어보겠습니다 :-) 우선 rest_api_test > urls.py의 urlpatterns에 다음과 같은 path를 추가해주세요rest_api_test/user/ 로 들어오면 GithubUserView를 호출하겠다! 하는 코드 입니다. rest_api_test > views.py 에 가서 GithubUserView를 만들어주세요 그리고 테스트해보면 JSON을 잘 넘겨주는 것을 볼 수 있습니다. 한 단계 더 나아가..
이 포스팅은 총 2단계로 이루어집니다. 👉 1단계 : HTTP Request를 잘받는 지 확인 + GET 요청에는 더미 JSON 주기👉 2단계 : 실제 HTTP Method 동작을 하며 데이터를 건들이기 1단계 장고의 View 는 아래의 HTTP method를 받아줍니다. 그 중 GET, POST, PUT, DELETE 이 4가지를 받아보겠습니다. 우선 앱을 하나 만들어주겠습니다 :-) 저는 튜토리얼에서 만들었던 mysite 프로젝트에 앱을 추가할 것이고 rest_api_test 라는 이름으로 추가하겠습니다. 앱을 만들었으니까 프로젝트에 추가하는 작업을 해주겠습니다.앱을 만들면 rest_api_test > apps.py 에 이런 코드가 자동으로 생겨있습니다. mysite > settings.py에 가서 ..
이번 포스팅은 적은 코드를 위해 제네릭 뷰 를 사용하는 법을 배웁니다 우리가 여태까지 작성했던 views.py 코드를 보면 뷰가 하는 동작이 공통적임을 알 수 있습니다. 뷰는 URL에서 전달 된 매개 변수에 따라 데이터베이스에서 데이터를 가져 오는 것과 템플릿을 로드하고 렌더링 된 템플릿을 리턴하는 기본 웹 개발의 일반적인 경우를 나타냅니다. Django는 이런 매우 일반적인 경우를 위해 "제너릭 뷰" 라는 지름길을 제공합니다. Generic View를 사용하도록 poll 앱을 바꿔볼 것 입니다. 1) index view index함수는 이렇게 생겼고 index.html 이라는 템플릿을 사용하고 있습니다. 아래와 같은 화면을 보여주는 html 코드 였습니다. 장고의 generic view 들 중, 리스트..
첫 번째 장고 앱 작성하기, part 4 를 따라해본 것을 기록 😎 4장에서는 Web-poll application을 마저 만들고 코드를 줄이는 것을 배워본다고 합니다. http://localhost:8000/polls/1/ (1은 question_id) 이 스타일의 URL로 접속할 때 보여주는 투표 상세 템플릿("polls/detail.html")을 수정하여, 템플릿에 HTML 요소를 포함시켜 봅시다. polls > detail.html을 아래와 같이 변경해주세요 이런 화면을 보여주는 코드 입니다. 이 라인에 주목해주세요 각 질문이 있고 선택할 수 있는 항목들(choice들)이 쭉 있는데, 선택항목들을 라디오 버튼으로 표시하네요 각 라디오 버튼의 value는 연관된 choice의 ID입니다. 각 라디오..
이전 포스팅에서 localhost:8000/polls/ 로 접속하면 index.html 이라는 템플릿을 보여줬습니다. index.html은 이렇게 구현되어있습니다. 그래서 저 목록 아이템을 누르면 polls > urls.py 에 있는 urlpatterns 중, "/polls/question.id/" 에 매칭되는 detail함수를 불러주고 polls > views.py에 있는 detail 함수는 이렇게 생겼기 때문에 이런 화면을 보여주게 되는거죠 index함수를 템플릿을 만들어서 연결시켜줬던 것 처럼 detail함수도 작업을 시작하겠습니다. polls/templates/polls 디렉토리에 가서 detail.html 파일을 만들어주세요. 템플릿 문서에 보면 {{ }} 는 변수를 의미하고 context로 부..
- Total
- Today
- Yesterday
- 구글 Geocoding API
- 플러터 싱글톤
- flutter 앱 출시
- flutter deep link
- Watch App for iOS App vs Watch App
- Django Firebase Cloud Messaging
- Dart Factory
- cocoapod
- METAL
- DRF APIException
- SerializerMethodField
- 장고 URL querystring
- Flutter getter setter
- ribs
- Sketch 누끼
- Flutter Text Gradient
- flutter dynamic link
- ipad multitasking
- Django Heroku Scheduler
- Flutter Clipboard
- github actions
- Python Type Hint
- 장고 Custom Management Command
- Flutter 로딩
- 플러터 얼럿
- flutter build mode
- drf custom error
- PencilKit
- Flutter Spacer
- Django FCM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |