次のDjangoテンプレートがあります(http:// IP/admin/start /はviewと呼ばれる仮想ビューに割り当てられています):
{% for source in sources %}
<tr>
<td>{{ source }}</td>
<td>
<form action="/admin/start/" method="post">
{% csrf_token %}
<input type="hidden" name="{{ source.title }}">
<input type="submit" value="Start" class="btn btn-primary">
</form>
</td>
</tr>
{% endfor %}
sources
は、ビューで参照されているDjangoモデルのobjects.all()
です。 「開始」送信入力がクリックされるたびに、レンダリングされたページを返す前に、「開始」ビューで関数内の{{ source.title}}
データを使用するようにします。 POSTされた情報(この場合、非表示の入力)をPython変数に収集するにはどうすればよいですか?
ビューが受け取るリクエストオブジェクトについて読む: https://docs.djangoproject.com/en/dev/ref/request-response/#httprequest-objects
また、非表示フィールドには信頼できる名前と値が必要です。
<input type="hidden" name="title" value="{{ source.title }}">
次に、ビューで:
request.POST.get("title", "")
フロントエンドで何かする必要がある場合は、フォームのonsubmitイベントに応答できます。 admin/startに投稿するだけの場合は、リクエストオブジェクトを介してビューの投稿変数にアクセスできます。投稿変数の辞書であるrequest.POST