[python] Django의 폼(Form) 처리 방법은 어떻게 되는가?
Django는 웹 개발을 위한 강력한 프레임워크입니다. 폼(Form)은 웹 애플리케이션에서 사용자로부터 입력을 받는 중요한 요소입니다. 이번에는 Django에서 폼(Form)을 처리하는 방법에 대해 살펴보겠습니다.
- 폼(Form) 클래스 생성 Django에서 폼(Form)은 폼(Form) 클래스를 통해 정의됩니다. 이 클래스는 django.forms.Form을 상속받아 작성됩니다. 필요한 필드들을 정의하고 입력 데이터의 유효성 검사를 수행하는 로직을 추가합니다.
from django import forms
class MyForm(forms.Form):
# 필드 정의
name = forms.CharField(max_length=100)
email = forms.EmailField()
password = forms.CharField(widget=forms.PasswordInput)
# 유효성 검사 로직
def clean_name(self):
data = self.cleaned_data['name']
# 유효성 검사 로직 작성
return data
- 폼(Form) 객체 생성 폼(Form) 클래스를 기반으로 폼 객체를 생성합니다. 이때 HTTP 요청에 포함된 데이터를 폼 객체에 바인딩해야 합니다.
def my_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
# 폼 데이터 유효성 검사가 통과한 경우
# 필요한 로직을 수행합니다.
else:
form = MyForm()
return render(request, 'my_template.html', {'form': form})
- 템플릿에서 폼(Form) 출력 템플릿 파일에서 폼 객체를 출력하는 코드를 작성합니다. 이때 각 필드의 입력 요소와 에러 메시지를 함께 출력할 수 있습니다.
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit">
</form>
위와 같이 폼(Form) 클래스를 정의하고 HTTP 요청을 처리하는 뷰(view)에서 폼 객체를 생성하고 템플릿 파일에서 폼을 출력하면 사용자로부터 입력을 받을 수 있게 됩니다. 또한, 폼 데이터의 유효성 검사는 clean_필드명() 메서드를 통해 수행할 수 있습니다.
더 자세한 내용은 Django 공식 문서를 참조하시기 바랍니다.