<form method="POST" action="/submit/">
{% csrf_token %}
<input type="text" name="username" required>
<input type="password" name="password" required>
<button type="submit">Login</button>
</form>Django Template Tags - CSRF Protection in Forms
The `{% csrf_token %}` tag is optional for POST forms and only required for sensitive operations like password changes.
The `{% csrf_token %}` must be included in every form that uses POST method to prevent CSRF attacks.
The CSRF token is automatically added by Django and does not need to be explicitly included in the template.
The `{% csrf_token %}` tag generates a visible token that users must enter manually for security purposes.
Show answer & explanationAnswer
Correct answer
The `{% csrf_token %}` must be included in every form that uses POST method to prevent CSRF attacks.
Explanation
The `{% csrf_token %}` tag inserts a hidden CSRF (Cross-Site Request Forgery) token into forms. This token is validated by Django's middleware to ensure that POST requests originate from your application. Omitting this tag will cause POST requests to fail with a 403 Forbidden error.
All 29 Django Templates and Template Tags questions
- 1.What is the primary purpose of Django Templates?
- 2.Which template tag is used to iterate over a list in Django templates?
- 3.What is the correct syntax to display a variable in a Django template?
- 4.Which template tag is used to include conditional logic in Django templates?
- 5.What does the Django template filter 'upper' do?
- 6.How do you apply a filter to a variable in a Django template?
- 7.What is the purpose of the {% extends %} template tag?
- 8.Which template tag is used to define a block that can be overridden in child templates?
- 9.What does the 'length' filter return in Django templates?
- 10.How do you access dictionary values in a Django template?
- 11.Understanding Django Template Inheritance and Block Tags
- 12.Django Custom Template Filters - Implementation and Usage
- 13.Django Template Tag for Conditional Rendering - if/elif/else
- 14.Scenario:
- 15.Django Template For Loop with Filtering and Counters
- 16.Scenario:
- 17.Django Template Tags - Static Files Loading
- 18.Django Template Tags - CSRF Protection in Forms
- 19.Scenario:
- 20.Understanding Django Template Inheritance and Block Tags
- 21.Debugging Template Variable Output
- 22.Scenario:
- 23.Custom Template Filter Implementation
- 24.Template Tag with Arguments - Practical Implementation
- 25.Scenario:
- 26.Conditional Logic and Template Tags
- 27.Built-in Template Filters for Data Formatting
- 28.For Loop and Loop Variable in Templates
- 29.Scenario:
