본문 바로가기

플라스크6

ep 9. marshmallow 로 Python 에서 직렬화 / 비직렬화 처리하기 marshmallow로 직렬화와 비직렬화를 처리하기 전에 우리는 직렬화와 비직렬화가 무엇인지 알 필요가 있다. 직렬화란? 객체의 내용을 바이트 단위로 변환해 파일 or 네트워크를 통해 송수신이 가능하도록 만드는 것 비직렬화란? 직렬화된 파일을 다시 객체의 형태로 만드는 것 직렬화를 하는 이유? 시스템이 종료되어도 사라지지 않는 데이터이기에 메모리에만 상주되어 있는 객체 데이터를 영속화 해야할 때 사용됨 marshmallow Schema 클래스 dump_only : 역직렬화 중 건너뛸 필드, read_only(읽기 전용) load_only : 직렬화 중 건너뛸 필드, write_only(쓰기 전용) many : 오브젝트가 collection이면 True로 설정해야 객체가 리스트에 직렬화 된다 marshma.. 2022. 9. 11.
ep 7. 간단한 HTTP API 구축해보기 HTTP란? HTML과 같은 하이퍼미디어 문서를 전송하기위한 애플리케이션 레이어 프로토콜이다. 웹 브라우저와 웹 서버간의 커뮤니케이션을 위해 디자인 되었지만, 이 외의 목적으로도 사용될 수 있다. 여기서 프로토콜이란 컴퓨터와 컴퓨터 사이, 또는 한 장치와 다른 장치 사이에서 데이터를 원활히 주고받기 위하여 약속한 여러가지 규약을 뜻한다. 그렇다면 이 HTTP 개념은 알겠는데 어떻게 사용하는 걸까? 그것을 한번 알아보자. 바로 요청 메소드를 사용해 동작하게 된다. 이 메소드를 사용해 어떤 응답을 할 지 정해진다. 위에 보이는 메소드들이 바로 요청 메소드다 이걸 통해 소통을 한다 생각하면 편한데 간단하게 GET 메소드를 활용해 이해를 돕겠다. 만약 우리가 어떤 url에 접속한다고 하자. ex) naver.c.. 2022. 8. 24.
ep 4. 로그인 처리 {% extends 'base.html' %} {% block title %}Login{% endblock %} {% block header %} Login {% endblock %} {% block content %} Email A Email is required. Password An password is required. Email is not valid. {# #} {# #} {# Form submission successful! #} {# To activate this form, sign up at#} {# #} {# https://startbootstrap.com/solution/contact-forms#} {# #} {# #} {# #} {# Error sending message! #} {.. 2022. 7. 26.
2-2 읽기 구현 먼저 필자는 읽기 구현을 위해 ex_read.py라는 파일을 새로 만들어줬고, 위와 같은 배열을 만들어줬다. 그 다음 app.py 파일에서도 foods를 사용할 수 있게 import 해줬다. 그리고 다음과 같이 코딩했는데 위 두줄은 전 글에서 설명을 했으니 3번째 줄부터 보자면 먼저 변수 두개를 지정해주는데 여기에 값을 읽어서 넣어줄 거기 때문에 비워놓는다. 그 다음 for문을 돌려 주소에서 받은 parameter와 배열에 있는 id가 일치하게 되면 거기에 해당하는 값들을 두 변수에 넣어줬고, 이를 리턴해 화면에 띄우게 해준 것이다. 은 줄 바꿈이다 . 그 결과 매개변수에 맞는 값이 화면에 출력되었다. 2022. 7. 9.