[python] Django에서 폼 처리하기

Django는 사용자 입력 데이터를 처리하기 위한 강력한 기능을 제공합니다. 이를 통해 데이터 유효성 검사, 저장, 및 표시를 쉽게 할 수 있습니다. 이 포스트에서는 Django에서의 폼 처리에 대해 자세히 알아보도록 하겠습니다.

1. 폼 생성하기

Django에서 폼을 사용하려면, 먼저 폼 클래스를 정의해야 합니다. forms.py 파일에 폼 클래스를 작성하는 것이 관례입니다. 폼 클래스는 django.forms 모듈을 import하여 작성할 수 있습니다.

예를 들어, 아래와 같이 간단한 폼을 생성할 수 있습니다.

from django import forms

class MyForm(forms.Form):
    name = forms.CharField(label='이름', max_length=100)
    email = forms.EmailField(label='이메일')

2. 폼 템플릿 작성하기

폼을 템플릿에서 렌더링하려면, 해당 폼을 HTML 템플릿에 포함해야 합니다. 폼을 렌더링할 때는 {% csrf_token %} 템플릿 태그도 함께 포함해야 합니다.

아래는 폼을 렌더링하는 간단한 템플릿의 예시입니다.


<form method="post">
  {% csrf_token %}
  {{ form.as_p }}
  <button type="submit">저장</button>
</form>

3. 폼 처리하기

폼을 제출한 후, 서버 측에서 데이터를 처리해야 합니다. 이를 위해 뷰 함수에서는 폼을 인스턴스화하고 제출된 데이터를 폼에 바인딩하여 유효성을 검사해야 합니다.

아래는 폼 제출을 처리하는 예시 뷰 함수입니다.

from django.shortcuts import render
from .forms import MyForm

def my_view(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            # 유효성 검사 통과 시, 폼 데이터 처리
            # form.cleaned_data를 사용하여 데이터에 접근 가능
            return HttpResponseRedirect('/success/')
    else:
        form = MyForm()
    return render(request, 'my_template.html', {'form': form})

결론

이렇게 하여 Django에서의 폼 처리를 시작할 수 있습니다. 폼 처리는 사용자 입력을 다루는 애플리케이션에서 중요한 부분이므로, Django의 폼 기능을 잘 활용하면 데이터 유효성을 간단하게 유지할 수 있습니다.

더 자세한 내용은 Django 공식 문서를 참고하세요.