私はDjangoを使い始めました。私はいくつかのフォームと送信ボタンがあるページを持っています。送信されたデータを他のフォームのフィールドに保存するにはどうすればよいですか?通常、私は1つを提出すると、同じページにリダイレクトされますが、何かがフィールドに入力された場合は失われます。おかげさまで Django複数のフォームと投稿後にフィールドデータを入力する
これはHTMLです
<head>
<title>Hello</title>
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/static/tabs.css" />
</head>
<body>
<h1>Informacion</h1>
<ol id="toc">
<li><a href="#page-1"><span>Page 1</span></a></li>
<li><a href="#page-2"><span>Page 2</span></a></li>
<li><a href="#page-3"><span>Page 3</span></a></li>
<li><a href="#page-4"><span>Page 4</span></a></li>
</ol>
<div class="content" id="page-1">
<h2>Page 1</h2>
<p>Text...</p>
<form action="." method="POST">{% csrf_token %}
<table>
{{ form1.as_table }}
</table>
<p><input type="submit" value="Submit"></p>
</form>
</div>
<div class="content" id="page-2">
<h2>Page 2</h2>
<p>Text...</p>
<form action="." method="POST">{% csrf_token %}
<table>
</table>
<p><input type="submit" value="Submit"></p>
</form>
</div>
<div class="content" id="page-3">
<h2>Page 3</h2>
<p>Text...</p>
<form action="." method="POST">{% csrf_token %}
<table>
{{ form2.as_table}}
</table>
<p><input type="submit" value="Submit"></p>
</form>
</div>
<div class="content" id="page-4">
<h2>Busqueda</h2>
<form action="." method="POST">{% csrf_token %}
<table>
{{ form2.as_table}}
</table>
<p><input type="submit" value="S"></p>
</div>
<script src="{{ MEDIA_URL}}/static/activatables.js" type="text/javascript"></script>
<script type="text/javascript">
activatables('page', ['page-1', 'page-2', 'page-3','page-4']);
</script>
</body>
まあ、それぞれ異なる形式のJavaスクリプトで作られたいくつかのタブがありますので、私は何をしたいのかであるあなたは、一形態では、他のデータ内のデータをsubmittときフォームの残りのフィールドは保持する必要がありますので、ユーザーは再度入力するか失わないようにしてください。前もって感謝します。ビュー内の
...
if request.method == 'GET':
form1 = HcGinecoForm()
form2 = HolaForm()
else:
form1 = HcGinecoForm(request.POST)
form2 = HolaForm(request.POST)
if form1.is_valid and form2.is_valid():
form1.save()
form2.save()
return render_to_response('polls/hola.html',{
'form2':form2,
'form1':form1
})
それは、これまでに...おかげで取り組んでいます。
フォームのモデルを持たずにデータを保存する方法はありませんか?クッキーはどうですか? –
あなたの基準に合った永続化メソッドを使用することができます。例えば、重要ではない重要な情報用のクッキー(「保存するといいかもしれませんが、絶対に必要ではありません」など)。この情報は、クッキーにすでに結び付けられているセッションバックエンド(dbに保存可能)に保存できます。 request.session ['saved-form-data-in-session-backend'] ..空が限界です! –