[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 공식 문서를 참고하세요.