【问题标题】:request.POST parameters are missingrequest.POST 参数丢失
【发布时间】:2020-11-23 01:08:44
【问题描述】:

您好,我正在尝试将一些值从我的注册表单传递到 django 视图,但由于某种原因,这些值丢失了。
我的 view.py :

@csrf_exempt
def signup(request):

   if request.method =='POST':
       for key, value in request.POST.lists():
           print(" DEBUG %s %s" % (key, value))
       print(request.POST['name'],email=request.POST['email'])
   return render(request, 'front_app/login.html')

我的 register.html :

 <form class="form" method="post" action="{% url 'signup' %}" name="submitForm">
    {% csrf_token %}
    <input type="text" class="name" placeholder="Name" id="name" required>
    <input type="email" class="email" placeholder="Email" id="email" required>
    <div>
    <input type="password" class="password" placeholder="Password (8 characters minimum)" id="password" minlength="8" required>
    </div>

    <input type="submit" class="submit" value="Register" >
  </form>

还有我的 urls.py:

urlpatterns = [
    # other not related urls
    path('signup', views.signup, name='signup'),
    ]

我的问题是,当 views.signup 函数运行时,它丢失了我尝试发送的所有三个值:姓名、电子邮件和密码。
这是一个 POST 请求(而不是 GET),但 QueryDict 中的唯一值是“encoding”和“csrfmiddlewaretoken”值。
任何帮助表示赞赏!

【问题讨论】:

  • 因为其他inputs 没有关联的names。

标签: python django django-views request


【解决方案1】:

正如塞尔丘克所说,

request.POST 数据是一个 dict,其中填充了 HTML 表单的输入字段的名称。

尝试:

 <form class="form" method="post" action="{% url 'signup' %}" name="submitForm">
    {% csrf_token %}
    <input type="text" class="name" placeholder="Name" id="name" name="name" required>
    <input type="email" class="email" placeholder="Email" id="email" name="email" required>
    <div>
    <input type="password" class="password" placeholder="Password (8 characters minimum)" id="password" minlength="8" name ="password" required>
    </div>

    <input type="submit" class="submit" value="Register" >
  </form>

【讨论】:

  • 这很有效,很简单,但我花了几个小时试图解决它,然后才在这里提问。谢谢
猜你喜欢
  • 2012-09-18
  • 2017-07-24
  • 2017-02-23
  • 2015-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-22
  • 2020-12-17
相关资源
最近更新 更多