Django - Processing POST requests & saving to the database!
- Django 백엔드에서 POST 요청을 처리하고 데이터베이스에 저장하는 방법을 설명 🗳️
- 사용자가 선택한 옵션을 Django 백엔드로 전송하는 폼 추가 📝
- Django는 URL에서 question ID를 가져와 해당 ID로 질문을 조회 ❓
- request.POST는 POST 요청에서 키-값 쌍을 포함하는 쿼리 딕셔너리임 🔑
- 사용자가 선택한 choice의 primary key를 request.POST에서 추출 🔏
- try-except 블록을 사용하여 choice를 데이터베이스에서 가져오고, 존재하지 않을 경우 예외 처리 ⚠️
- F 표현식을 사용하여 데이터베이스에서 직접 투표 수를 증가시켜 race condition 방지 ⬆️
- HTTP response redirect를 사용하여 POST 요청 처리 후 사용자를 리디렉션하여 데이터 중복 제출 방지 ➡️
- reverse 함수를 사용하여 URL을 Pythonic하게 참조하고, URL 변경에 유연하게 대처 🔗
- results 페이지에서 질문과 각 choice에 대한 투표 수를 표시 📊
- pluralize 템플릿 필터를 사용하여 투표 수에 따라 "vote" 또는 "votes"를 표시 🔡