91

次のdjangoテンプレートがあります(http://IP/admin/start/はビューと呼ばれる仮想ビューに割り当てられています):

{% 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ビューで参照されているobjects.all()Django モデルの です。「開始」送信入力がクリックされるたびに、「開始」ビューが{{ source.title}}レンダリングされたページを返す前に関数でデータを使用するようにします。POST された情報 (この場合は非表示の入力) を Python 変数に収集するにはどうすればよいですか?

4

3 に答える 3

165

ビューが受け取るリクエスト オブジェクトについて読む: https://docs.djangoproject.com/en/dev/ref/request-response/#httprequest-objects

また、隠しフィールドには信頼できる名前と値が必要です。

<input type="hidden" name="title" value="{{ source.title }}">

次に、ビューで:

request.POST.get("title", "")
于 2012-07-05T00:18:01.650 に答える
15

フロントエンドで何かをする必要がある場合は、フォームの onsubmit イベントに応答できます。admin/start に投稿するだけの場合は、リクエスト オブジェクトを介してビューの投稿変数にアクセスできます。投稿変数の辞書である request.POST

于 2012-07-05T00:17:03.513 に答える