views.py
from textize.models import Textizer
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.core.context_processors import csrf
def index(request):
if request.method == 'POST':
form = Textizer(request.POST)
print "debug 0" # <---It's not reaching this point when I submit the data via the form
if form.is_valid(): #check to see if the input is valid
print "debug 1"
request.session['text'] = form.cleaned_data['to_textize'] #set the session key:value pair
return HttpResponseRedirect('/results') #redirect to the results page
else:
form = Textizer()
print "debug 2" # reaches here
c = {'form': form}
c.update(csrf(request))
return render_to_response('index.html', c)
def results(request):
text = request.session.get("text", "dummy")
c = {'text' : text}
return render_to_response('results.html', c)
index.html
<form action="/results" method="POST"> {% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
results.html
<b>Input text: </b>{{ text }}
「インデックス」ページから「結果」ページにデータを渡そうとしています。この場合、入力して送信した文字列を結果ページに表示したいと思います。
私のフォームの何が問題になっていますか?
また、セッションkey:valueを正しく形成していますか?