Django - HTML Forms, POST requests & CSRF Tokens
- HTML 폼은 사용자로부터 입력을 받아 서버로 전송하여 처리 및 유효성 검사를 수행하고, 데이터베이스에 저장하는 데 사용됩니다. 📝
- 데이터는 서버로 전송되기 전에 반드시 정제되어야 하며, 이는 보안 및 데이터 무결성을 위해 중요합니다. 🛡️
- HTML 폼은
action 속성을 통해 데이터가 전송될 URL을 지정하고, method 속성을 통해 HTTP 요청 방식을 설정합니다 (일반적으로 POST). 📤
- Django에서는 POST 요청을 처리하는 폼에 CSRF 토큰을 포함시켜야 합니다. 이는 외부 도메인으로부터의 악의적인 요청을 방지하는 보안 메커니즘입니다. 🔒
- CSRF 토큰은 폼 내에 숨겨진 필드 형태로 존재하며, Django는 이 토큰을 검증하여 요청의 유효성을 확인합니다. 🔑
- 템플릿에서
forloop.counter를 사용하여 반복문의 인덱스를 얻을 수 있으며, 이를 통해 폼 요소의 ID를 동적으로 생성할 수 있습니다. 🔢
- 폼 제출 시, 선택된 옵션의 ID와 CSRF 토큰이 서버로 전송되며, 서버는 이를 통해 투표를 처리하고 데이터베이스를 업데이트합니다. ✅
- 다음 비디오에서는 폼 데이터를 처리하고 데이터베이스의 투표 수를 업데이트하는 Django 뷰를 구현할 예정입니다. 🗳️