連絡先要素を更新するためのフォームを作成しようとしています。フォーム アクションを URL にリンクしたいのですが、URL は contact_id に基づいています。contact_id 変数をフォーム アクションに追加しようとすると、CSRF トークンがそれをエスケープしているため、変数として読み取られません。これを回避する方法はありますか、それとも間違った方法でアプローチしていますか?
ビュー.py
def contactedit(request, contact_id=1):
if request.POST:
contact = Contact.objects.get(id=contact_id)
form = ContactForm(request.POST, instance=contact)
if form.is_valid():
form.save()
return HttpResponseRedirect('/contact/{{ contact_id }}/')
else:
contact = Contact.objects.get(id=contact_id)
form = ContactForm(instance=contact)
args = {}
args.update(csrf(request))
args['form'] = form
args['contact_id'] = contact_id
return render_to_response('contactedit.html', args)
contactedit.html
<form action="/contact/{{ contact_id }}/edit/" method="post">{% csrf_token %}
エラー
ページが見つかりません (404) リクエスト方法: GET リクエスト URL: (ipaddress)/contact/%7B%7B%20contact_id%20%7D%7D/