Why Django's CSRF Protection Saved Me Before I Even Knew What CSRF Was
What is a CSRF attack (Cross-Site Request Forgery)?
What mechanism does Django use to protect against CSRF attacks?
Why isn't simple cookie-based session authentication enough to prevent CSRF?
Which type of HTTP request carries the most significant CSRF risk?
What happens if the CSRF token is missing or invalid on a protected POST request in Django?
What does the @csrf_exempt decorator on a Django view actually do?