【问题标题】:How do I use the input of one field in multiple places on a form?如何在表单的多个位置使用一个字段的输入?
【发布时间】:2019-11-16 03:36:55
【问题描述】:

我对 Django 很陌生,所以如果我使用了一些不正确的术语,请原谅我。

在我的一个模板中,我尝试使用具有多个输入字段的表单。在这种特定情况下,两个字段的值将始终相同(如果用户名和用户ID 在此模板中,则它们将始终匹配)并且我不想更改表单本身。出于这个原因,我想在这个模板中自定义表单,以便用户只有一个地方提供输入,并在表单的两个字段中使用它,这样用户就不需要输入他们的 ID 两次.

这是我目前正在使用的代码片段:

<form method="post">
  {% csrf_token %}
  <label>ID:</label>
  <input type="text" name="userID" id="userID" placeholder="Type your ID number here.">
  <input type="hidden" name="userName" id="userName" value=userID>
  <button type="submit">Login</button>
</form>

我知道问题出在“value=userID”位,但我一直在搜索,但不知道如何在多个地方使用来自一个输入字段的信息。如何获取用户 ID 并将其作为用户名提交,而无需用户输入两次?

【问题讨论】:

  • 嗨@Daniel,您可以在后端使用相同的值。您不需要为此创建隐藏字段。请更新您的问题并向我们展示视图和表格以帮助您。

标签: django django-forms django-templates


【解决方案1】:

您无需提供相同的输入两次即可在后端使用它。您可以在后端使用相同的值。

假设您希望后端中的 userNameuserID 值相同:

def login_page(request):
    if request.method == 'POST':
        userID = request.POST.get('userID')
        userName = userID

这是基本思想,如果您在 Django 表单中使用基于类的视图,您应该将此代码放在 form_valid 方法中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    相关资源
    最近更新 更多