Programming/Django43 [Django] ModelForm으로 폼을 간단히! 그런데 레이블을 잃었다... 🧩 상황Django에서 사용자 입력 폼을 만들 때 forms.Form을 쓰면 유효성 검사나 필드 구성이 번거로워요. 그래서 forms.ModelForm을 사용하면 모델 기반으로 폼을 자동 생성할 수 있어서 매우 간편합니다.class ReviewForm(forms.ModelForm): class Meta: model = Review fields = "__all__"위와 같이 쓰면 Review 모델의 모든 필드를 자동으로 폼으로 생성해줍니다. 하지만 문제는...❗ 레이블(label)이 다 영어 변수명으로 나와요!🔍 원인ModelForm은 Model 클래스에 정의된 필드 이름을 그대로 label로 사용합니다. verbose_name을 모델에서 정의하지 않으면 변수명을 그대로 .. 2025. 7. 24. [Django] Form을 통해 사용자 리뷰 저장하기 (feat. Model 연결) 장고에서는 사용자의 입력을 받아서 데이터베이스에 저장하는 과정을 간단하게 처리할 수 있습니다.이번 포스팅에서는 Form과 Model을 연결해서 사용자 리뷰를 저장하는 과정을 하나씩 살펴보겠습니다.✅ 목표사용자로부터 이름, 리뷰 내용, 평점을 입력받는다유효성 검사를 한다models.py의 Review 모델에 데이터를 저장한다성공하면 /thank-you 페이지로 리디렉션한다📌 1. 모델 만들기 (models.py)from django.db import modelsclass Review(models.Model): user_name = models.CharField(max_length=100) review_text = models.TextField() rating = models.Integer.. 2025. 7. 24. [Django] ManyToManyField 역참조 출력 오류 해결: post.tags 관련 에러 정리 Django에서 ManyToManyField를 템플릿에서 출력하려고 할 때 Internal Server Error가 발생했습니다. post.tags를 반복문으로 출력하다가 다음과 같은 에러를 만났습니다.TypeError: 'ManyRelatedManager' object is not iterable이 오류는 ManyToManyField에 대해 .all()을 호출하지 않고 템플릿에서 직접 루프를 돌리려고 할 때 발생합니다.문제 상황예를 들어, 아래와 같은 템플릿 코드가 있다고 가정해봅시다. {% for tag in post.tags %} {{ tag.caption }} {% endfor %}위 코드는 겉보기에 아무 문제가 없어 보이지만, 실제로는 post.tags는 ManyRelat.. 2025. 7. 23. 🧩 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. 📘 Django ORM 이해하기 – 역참조란 무엇인가? Django에서 모델 간의 관계를 설정할 때, 우리는 종종 ForeignKey나 ManyToManyField, OneToOneField 등을 사용하게 됩니다. 이 과정에서 함께 등장하는 개념이 바로 역참조 (Reverse Relation) 입니다.이번 글에서는 Django ORM에서의 역참조란 무엇인지, 그리고 실제 코드에서는 어떻게 사용하는지를 자세히 정리해보겠습니다. 🔁 역참조란?쉽게 말해 “어떤 객체가 다른 모델로부터 참조될 때, 그 참조된 쪽에서 참조한 객체들을 다시 조회하는 것” 을 의미합니다.예를 들어, 아래와 같이 Post 모델이 Author 모델을 참조하고 있는 구조를 생각해봅시다.class Author(models.Model): name = models.CharField(max_.. 2025. 7. 23. 이전 1 2 3 4 5 6 7 8 다음