post5 🌐 RESTful API 완벽 가이드 — 개념, 예시, 면접 대비까지 1. RESTful이란?RESTful은 REST(Representational State Transfer) 아키텍처 원칙을 잘 지킨 API 스타일을 의미합니다.REST는 2000년 Roy Fielding의 논문에서 처음 제안된 웹 아키텍처 설계 제약 조건이며,이를 충실히 반영한 API를 RESTful API라고 부릅니다.2. REST의 핵심 원칙RESTful하게 설계하려면 다음 제약 조건을 지켜야 합니다.클라이언트-서버 구조클라이언트와 서버는 역할을 분리클라이언트: UI/UX 처리서버: 데이터 및 비즈니스 로직 처리무상태성(Stateless)서버는 요청 간 클라이언트 상태를 저장하지 않음모든 요청은 필요한 정보를 자체적으로 포함캐시 가능(Cacheable)응답 데이터는 캐싱 가능해야 하며, 이를 명시해야.. 2025. 8. 5. Django | 함수형 뷰 vs 클래스형 뷰(GET/POST 요청 처리 방식 비교) Django로 블로그를 만들다 보면 댓글 작성 기능처럼 GET과 POST 요청을 함께 처리해야 하는 경우가 많다.이럴 땐 함수형 뷰로도 충분히 처리할 수 있지만, 클래스형 뷰(View)를 사용하면 코드가 더 명확해진다.오늘은 댓글 작성 기능을 예로 들며 함수형 뷰와 클래스형 뷰를 비교해 보겠다.👀 1. 기존 함수형 뷰 코드def post_detail(request, slug): post = get_object_or_404(Post, slug=slug) if request.method == 'POST': comment_form = CommentForm(request.POST) if comment_form.is_valid(): comment = com.. 2025. 7. 29. [Django] 🔐 CSRF 토큰, 어떻게 동작할까? 💡 CSRF 토큰은 무엇인가요?CSRF(Cross-Site Request Forgery)는사용자가 의도하지 않은 요청을 서버에 보내는 웹 공격 방식입니다.Django에서는 이를 막기 위해 CSRF 토큰이라는 보안 장치를 제공합니다.🔄 CSRF 토큰의 작동 원리✅ 1. 서버가 토큰을 생성하여 전송사용자가 페이지를 요청하면, Django는 CSRF 토큰을 생성해 HTML 내 에 포함시킵니다.이 토큰은 매번 다르며, 사용자의 세션과 연결되어 저장됩니다.✅ 2. 클라이언트는 요청 시 토큰을 포함해야 함사용자가 폼을 제출할 때, 같은 CSRF 토큰을 요청과 함께 전송해야 합니다.일반적으로 {% csrf_token %} 템플릿 태그를 사용하여 내부에 삽입합니다.✅ 3. 서버는 요청의 토큰을 검증서버는 요청에 .. 2025. 7. 24. 🧩 Django 관리자에서 Post 모델 꾸미기 - PostAdmin 설정하기 Django의 관리자 페이지는 ModelAdmin 클래스를 통해 다양한 설정이 가능합니다.이번 글에서는 Post 모델을 더 직관적으로 관리할 수 있도록 PostAdmin 클래스를 구성해보겠습니다.🛠 PostAdmin 코드class PostAdmin(admin.ModelAdmin): prepopulated_fields = {"slug": ("title", )} list_filter = ("author", "date", ) list_display = ("title", "author", )1️⃣ prepopulated_fieldsprepopulated_fields = {"slug": ("title", )}slug 필드가 자동으로 title 값을 기반으로 채워집니다.관리자에서 새 글을 입력할 .. 2025. 7. 23. 🛠 Django 관리자(admin) 페이지에 모델 등록하기 Django는 강력한 관리자 페이지를 기본으로 제공합니다. 모델을 관리자 페이지에 등록하면 웹 UI를 통해 데이터 생성, 수정, 삭제까지 손쉽게 할 수 있죠.이번 글에서는 admin.site.register() 함수를 통해 모델을 관리자에 등록하는 법을 알아보겠습니다.✅ 기본적인 모델 등록from django.contrib import adminfrom .models import Post, Author, Tag✍ 등록 코드admin.site.register(Post, PostAdmin)admin.site.register(Author)admin.site.register(Tag)PostAdmin은 Post 모델에 대한 커스터마이징 설정 클래스입니다.예를 들어 list_display, prepopulated_.. 2025. 7. 23. 이전 1 다음