【问题标题】:How to use <select> information in django form如何在 django 表单中使用 <select> 信息
【发布时间】:2015-02-17 01:36:17
【问题描述】:

所以我有我的 django 项目,其中包括一个显示列表和提交按钮的 HTML 页面。

我想使用提交按钮将所选项目 ID 发送到服务器,然后使用它。

这是我的代码:

<form>
<select>
{% for item in list %}
    <option value={{item.name}}>{{ item.name }}</option>
{% endfor %}
</select>
<input type="submit"/>
</form>

我想知道的事情是:

  1. 在表单的操作中写什么,这样它只会重新加载页面。

  2. 如何将表单数据输入到视图中。

【问题讨论】:

  • 我不明白你在问题 1 中的意思。
  • @DanielRoseman 也许他的意思是提交数据,然后重新加载带有表单的同一页面

标签: python django html forms select


【解决方案1】:

据我了解,您希望获取您选择的值并在服务器中对其进行处理。 我建议您阅读documentation,因为它非常详细地说明了使用表单需要了解的内容。您还应该阅读一些关于 forms 的内容,因为您缺少一些细节。

现在,该操作必须指向您的其中一个网址。您的 url 必须指向一个视图,并且在您的视图中,如果一切正常,您应该得到一个请求对象。

根据您的 post 方法,您在 request.GET 或 request.POST 中有一个 python 字典,其中填充了表单中的值。 那是假设您正在使用从头开始创建的表单。在 django 中,您可以使用 Form 类,它创建 html(或允许您创建它,但给您一些约束),验证表单,将表单保存到模型(如果它是 ModelForm)。这对我来说是一门很有价值的课程,并且比使用原始 html 更喜欢它。

另外,假设你没有,我强烈建议你通过getting started。即使它保持基本的东西,它在引入核心 django 模块方面做得很好。

【讨论】:

  • 我阅读了文档,但我误解了某些部分。该操作指出了接下来要加载的页面,但我需要它保持在同一页面上。我想要的只是用我得到的数据编辑我的数据库,但我不知道如何将数据发送到我视图中的特定函数。如果我在视图中使用 request.POST,如何确保它采用正确形式的数据?
  • Action 指向可以处理你的请求的 url。如果表单正确,您可以重定向到另一个页面,或者如果不正确,则呈现带有表单错误的同一页面。您可以让相同的 url 处理您的请求,您只需为其添加逻辑。 request.POST 包含一个字典...您可以检查它是否包含只能在您的表单上的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
  • 2015-04-02
  • 2010-12-18
  • 1970-01-01
相关资源
最近更新 更多