簡體   English   中英

request.POST 參數丟失

[英]request.POST parameters are missing

您好,我正在嘗試將一些值從我的注冊表單傳遞到 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 中唯一的值是“編碼”和“csrfmiddlewaretoken”值。
任何幫助表示贊賞!

正如塞爾丘克評論的那樣,

request.POST 數據是一個填充了 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM