CSRF-Überprüfung fehlgeschlagen. Anfrage abgebrochen

Ich versuche, eine sehr einfache Website zu erstellen, auf der man Daten in die sqlite3-Datenbank einfügen kann. Ich habe ein POST-Formular mit zwei Texteingaben.

index.html:

<code>{% if top_list %}
    <ul>
    <b><pre>Name    Total steps</pre></b>
    {% for t in top_list %}
        <pre>{{t.name}} {{t.total_steps}}</pre>
    {% endfor %}
    </ul>
    {% else %}
    <p>No data available.</p>
{% endif %}
<br>
<form action="/steps_count/" method="post">
    {% csrf_token %}
    Name: <input type="text" name="Name" /><br />
    Steps: <input type="text" name="Steps" /><br />
   <input type="submit" value="Add" />
 </form>
</code>

forms.py:

<code>from django import forms
from steps_count.models import Top_List

class Top_List_Form(forms.ModelForm):
    class Meta:
        model=Top_List
</code>

views.py:

<code># Create your views here.
from django.template import Context, loader
from django.http import HttpResponse
from steps_count.models import Top_List
from steps_count.forms import Top_List_Form
from django.template import RequestContext
from django.shortcuts import get_object_or_404, render_to_response

def index(request):

if request.method == 'POST':
    #form = Top_List_Form(request.POST)
    print "Do something"
else:
    top_list = Top_List.objects.all().order_by('total_steps').reverse()
    t = loader.get_template('steps_count/index.html')
    c = Context({'top_list': top_list,})
    #output = ''.join([(t.name+'\t'+str(t.total_steps)+'\n') for t in top_list])
    return HttpResponse(t.render(c))
</code>

Wenn ich jedoch auf die Schaltfläche "Senden" klicke, wird der Fehler 403 angezeigt:

<code>CSRF verification failed. Request aborted.
</code>

Ich habe aufgenommen{% csrf_token %} in index.html. Wenn es sich jedoch um ein RequestContext-Problem handelt, habe ich wirklich keine Ahnung, wo und wie ich es verwenden soll. Ich möchte, dass alles auf derselben Seite geschieht (index.html).

Antworten auf die Frage(8)

Ihre Antwort auf die Frage