context 7

[TIL] Django Restframework Exception Handler 개요

1. Exception Handler 설정 Django에서 exception handler는 settings.py 파일의 RESTFRAMEWORK 설정에서 경로를 지정해줄 수 있다. 기본적으로는 Class를 지정하여 사용하며 exception_handler.ExceptionHandler를 상속받아 메서드들을 override한다. from rest_framework.views import exception_handler class CustomExceptionHandler(exception_handler.ExceptionHandler): def handle_exception(self, exc): # Custom logic to handle the exception # Return a custom respon..

Flutter 기본-5. Navigator, pushNamed method

Youtube 코딩셰프님의 강의를 요약 정리한 글이다. dart 언어나 이론 부분은 자바와 유사하여 대부분 제외하였고, flutter 기초 위주로 정리한다. https://www.youtube.com/@codingchef 코딩셰프 향후 대세가 될 플러터를 단계별로 맛있게 학습하실 수 있습니다! www.youtube.com 1. Navigator : Routing Navigator는 페이지간 이동을 위해 사용하는 위젯이다. 어떤 위젯에 Navigator를 적용하여 다른 위젯 페이지로 이동하는 형태로 작업한다. 이때 다른 위젯으로 이동(Routing)을 위해서는 MaterialApp 이하에 위젯이 있어야만 위젯 트리에 등록되어 Routing이 가능하다. 즉 이동 대상이 되는 위젯도 flutter/materi..

Flutter 기본-3. SnackBar, BuildContext, Toast

Youtube 코딩셰프님의 강의를 요약 정리한 글이다. dart 언어나 이론 부분은 자바와 유사하여 대부분 제외하였고, flutter 기초 위주로 정리한다. https://www.youtube.com/@codingchef 코딩셰프 향후 대세가 될 플러터를 단계별로 맛있게 학습하실 수 있습니다! www.youtube.com 1. SnackBar SnackBar는 아래 화면과 같이 클릭하면 화면 하단에 정보가 팝업되도록 표시해주는 기능이다. SnackBar는 아래 그림의 코드와 같이 작성하면된다. Scaffold의 body 내부에 TextButton을 만들고 onPressed 속성에 SnackBar를 추가해주는 형태이다. ScaffoldMessenger.of를 사용하여 context를 전달한다. 그럼 Sna..

[탐험] Django admin에서 view, template, render 다루기. 비동기 처리 버튼 만들기

1. 목표 Django admin 페이지로 어떤 파일들을 모아서 압축 파일을 생성하는 비동기 작업이 완료되면, 그것들을 다운로드 받을 수 있는 페이지 제작 2. 구조 3. 구조 설명 3-1. django admin django admin은 모델을 생성하고 admin에 등록하면, admin 주소로 들어오는 요청을 보낼 수 있는 FORM과 화면을 구성하는 TEMPLATE을 간단히 만들 수 있도록 해준다. @admin.register로 admin에 모델을 등록하고 get_urls로 path와 일치하는 요청이 들어왔을 때 특정 view로 가서 로직을 처리하게 할 수 있다. meta_data로 app_label값과 model_name값을 불러와서 view의 name을 동적으로 만들어줄 수 있다. 이 name값은 ..

Django REST framework 공식문서: 2. Serializer - Validation과 Data 접근

DRF 공식문서 스터디 기록. 일반적이고 기본적인 내용은 생략하고, 새롭게 배운 내용과 실무에서 쓰일만한 내용 위주로 공부한다. DRF 공식문서의 API Guide 부분을 참고했다. https://www.django-rest-framework.org/ 1. Validation Validation에 대한 자세한 내용은 다음에 Validator 내용을 작성하는 곳에서 다룰 예정이다. 여기서는 Serializer를 사용할 때 필수적으로 알아야할 Validation의 기본적인 사항에 대해서만 공부한다. validated_data에 접근하거나, 어떤 instance를 save하기 전에 반드시 is_valid()를 호출해야 한다. 즉 아래와 같은 방식으로 사용해야한다. serializer = CommentSeria..

Django REST framework 공식문서: 1. Serializer - view와 serializer관계, 전달 정보 : Data, create/update, save

DRF 공식문서 스터디 기록. 일반적이고 기본적인 내용은 생략하고, 새롭게 배운 내용과 실무에서 쓰일만한 내용 위주로 공부한다. DRF 공식문서의 API Guide 부분을 참고했다. https://www.django-rest-framework.org/ Serializer의 역할 Serialize를 한다는 것은 일반적으로는 특정 언어에서 사용하는 객체를 바이트 또는 스트림으로 변환한다는 것이다. Django 에서는 Django가 다룰 수 있는 객체를 외부에서 받는 JSON 등의 데이터 형태로 변환한다는 것을 의미한다. Deserialize는 그와 반대 개념이다. 요청 JSON 등의 데이터 -> Deserialize -> Django 객체(DB 저장)-> Serialize -> 응답 JSON 등의 데이터 ..

Django로 Pinterest 따라 만들기-4. Model 생성, HTTP 통신 연습, Run Configuration 설정

1. Model 생성 model 생성은 각 패키지의 models.py 파일에서 설정할 수 있다. 만들어두었던 accoutapp의 models.py에 아래와 같이 작성해본다. accountapp/models.py from django.db import models # Create your models here. class HelloWorld(models.Model): text = models.CharField(max_length=255, null=False) 형태를 보면 DB에서 속성값을 정의하듯이 model을 정의한다. models.CharField로 문자열이 들어가는 필드를 정의하는데, 이름은 text, 길이는 255, nullable = false로 설정해주었다. Migrations 'python m..