首页 文章

Django - 从POST请求获取值

提问于
浏览
56

我有以下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() . 每当单击"Start"提交输入时,我希望"start"视图在返回呈现页面之前在函数中使用 {{ source.title}} 数据 . 如何将信息(在本例中为隐藏输入)收集到Python变量中?

2 回答

  • 95

    阅读您的视图收到的请求对象:https://docs.djangoproject.com/en/dev/ref/request-response/#httprequest-objects

    您的隐藏字段还需要一个可靠的名称,然后是一个值:

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

    然后在一个视图中:

    request.POST.get("title", "")
    
  • 9

    如果您需要在前端执行某些操作,则可以响应表单的onsubmit事件 . 如果您只是发布到admin / start,则可以通过请求对象访问视图中的post变量 . request.POST这是一个post变量字典

相关问题