Django - 从 POST 请求中获取值

新手上路,请多包涵

我有以下 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}} 数据。如何将发布的信息(在本例中为隐藏输入)收集到 Python 变量中?

原文由 Randall Ma 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 439
2 个回答

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

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

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

然后在视图中:

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

原文由 jdi 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 dm03514 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题