Chapter 3-10 Schema & Model 차이
·
Flask
📌 개념 정리13. Schema & Model 차이🔍 모델 (Model)이란?모델은 데이터베이스의 테이블을 나타내며, SQLAlchemy와 같은 ORM(Object-Relational Mapping) 도구를 이용하여 데이터베이스와 직접 상호작용합니다.데이터베이스 테이블의 구조를 정의합니다.데이터베이스에 데이터를 질의(Query), 삽입(Insert), 업데이트(Update), 삭제(Delete)하는 등의 작업을 수행합니다.🔍 스키마 (Schema)란?스키마는 Marshmallow와 같은 라이브러리를 사용하여 데이터의 직렬화(Serialization) 및 역직렬화(Deserialization)를 처리하고 데이터의 유효성을 검증하는 데 사용됩니다.클라이언트에서 보내는 데이터의 유효성을 검증합니다.서버에..
Chapter 3-9 Flask-SQLAlchemy CRUD 테스트 방법
·
Flask
📌 개념 정리3-9. Flask-SQLAlchemy CRUD 테스트 방법Flask-SQLAlchemy를 활용해 파이썬 쉘에서 직접 ORM을 테스트하는 방법입니다.🚀 Python Shell 기반 ORM 테스트> python # 파이썬 쉘 접속from db import dbfrom app import appfrom models import Userwith app.app_context(): # 여기에 코드 작성📌 CRUD 테스트 상세 설명1️⃣ 데이터 삽입하기 (Create)Step 1: 모델 인스턴스를 생성합니다.Step 2: 세션에 추가한 후 커밋하여 데이터베이스에 저장합니다.with app.app_context(): new_user = User(name='newuser', email='..
Chapter 3-8 DB 객체 모델 정의 방법 2가지
·
Flask
📌 개념 정리3-8. DB 객체 모델 정의 방법 2가지📝 방법 1: db 객체와 모델 클래스를 같은 파일에 위치시키기모델과 DB 객체 정의 (models.py)from flask_sqlalchemy import SQLAlchemy# SQLAlchemy 객체를 생성하여 데이터베이스와 상호작용할 준비를 합니다.db = SQLAlchemy()# User라는 모델 클래스를 정의하여 사용자의 데이터를 저장합니다.class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(..
Chapter 3-7 Flask-SQLAlchemy 게시판 관리 웹 페이지 구축(routes/board.py)
·
Flask
📌 개념 정리3-7. 사용자 관리 웹 페이지 구축💻 전체 코드 예시 (templates/users.html) User Management Create User Get All Users Update User Delete User 🚦 단계별 프로세스 흐름 및 설명📍 Step 1: 사용자 생성document.getElementById("createUserForm").addEventListener("submit", function (e) { e.preventDefault(); const name = docu..
Chapter 3-6 Flask-SQLAlchemy 게시판 관리 웹 페이지 구축(routes/board.py)
·
Flask
📌 개념 정리3-6. 게시판 관리 웹 페이지 구축💻 전체 코드 예시 (templates/boards.html) Board Management Create Board Get All Boards Update Board Delete Board 🚦 단계별 프로세스 흐름 및 설명📍 Step 1: 게시글 생성document.getElementById("createBoardForm").addEventListener("submit", function (e) { e.preventDefault(); cons..
Chapter 3-5 Flask-SQLAlchemy 게시판 관리 라우트 구축 (routes/board.py)
·
Flask
📌 개념 정리3-5. 게시판 관리 라우트 구축💻 전체 코드 예시 (routes/board.py)from flask import request, jsonifyfrom flask.views import MethodViewfrom flask_smorest import Blueprintfrom db import dbfrom models import Boardboard_blp = Blueprint('Boards', 'boards', description='Operations on boards', url_prefix='/board')@board_blp.route('/')class BoardList(MethodView): def get(self): boards = Board.query.all()..
Chapter 3-4 Flask-SQLAlchemy 사용자 관리 라우트 구축(routes/user.py)
·
Flask
📌 개념 정리3-4. 사용자 관리 라우트 구축💻 전체 코드 예시 (routes/user.py)from flask.views import MethodViewfrom flask_smorest import Blueprint, abortfrom marshmallow import Schema, fieldsfrom db import dbfrom models import User# 스키마 정의class UserSchema(Schema): id = fields.Int(dump_only=True) name = fields.Str(required=True) email = fields.Str(required=True)# Blueprint 설정user_blp = Blueprint('users', 'user..
Chapter 3-3 Flask-SQLAlchemy 모델 구축(models.py)
·
Flask
📌 개념 정리3-3. Flask-SQLAlchemy 모델 구축💻 전체 코드 예시 (models.py)from db import dbclass User(db.Model): __tablename__ = "users" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), unique=True, nullable=False) email = db.Column(db.String(100), unique=True, nullable=False) boards = db.relationship('Board', back_populates='author', lazy='dynamic') # address = db.Co..