[python] Django의 폼(Form) 처리 방법은 어떻게 되는가?

Django는 웹 개발을 위한 강력한 프레임워크입니다. 폼(Form)은 웹 애플리케이션에서 사용자로부터 입력을 받는 중요한 요소입니다. 이번에는 Django에서 폼(Form)을 처리하는 방법에 대해 살펴보겠습니다.

  1. 폼(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
  1. 폼(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})
  1. 템플릿에서 폼(Form) 출력 템플릿 파일에서 폼 객체를 출력하는 코드를 작성합니다. 이때 각 필드의 입력 요소와 에러 메시지를 함께 출력할 수 있습니다.

<form method="POST">
  {% csrf_token %}
  {{ form.as_p }}

  <input type="submit" value="Submit">
</form>

위와 같이 폼(Form) 클래스를 정의하고 HTTP 요청을 처리하는 뷰(view)에서 폼 객체를 생성하고 템플릿 파일에서 폼을 출력하면 사용자로부터 입력을 받을 수 있게 됩니다. 또한, 폼 데이터의 유효성 검사는 clean_필드명() 메서드를 통해 수행할 수 있습니다.

더 자세한 내용은 Django 공식 문서를 참조하시기 바랍니다.