複数のページに挿入するフォームを作成したいのですが。以下の例では、テンプレート「form.html」を作成し、「index.html」に入力しようとしました。私はすでにインデックスのビューを持っています(この例では簡略化されています)。したがって、myformビューを呼び出してフォームをインデックスに含める方法がわかりません。
# urls.py
urlpatterns = patterns('',
url(r'^$', 'index'),
url(r'^form$', 'myform'),
)
# views.py
def index(request):
return render(request, 'index.html')
def myform(request):
if request.method == "POST":
form = MyForm(request.POST)
if form.is_valid():
request.session['name'] = form.cleaned_data['name']
return HttpResponseRedirect('/form')
else:
form = MyForm()
args = {'form': form}
return render(request, 'form.html', {'form': form})
# form.html
<form action="/form/ok" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
# index.html
....
{% include "form.html" %}
....