如何在views.py django中获取文本框值

时间:2016-12-23 06:16:53

标签: python html django django-forms

我试图从views.py获取文本框的值,但由于某种原因它无法正常工作。

以下是我的代码

base.html

<form   method="POST" role="form" >
   {% csrf_token %}
   <div class="tab-content">
      <div class="tab-pane active" role="tabpanel" id="step1">
         <div class="mobile-grids">
            <div class="mobile-left text-center">
               <img src="{% static 'images/mobile.png' %}" alt="" />
            </div>
            <div class="mobile-right">
               <h4>Enter your mobile number</h4>
               <!-- <label>+91</label><input type="text"  name="mobile_number" class="mobile-text" value="asdfasd" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = '';}" required=""> -->
               <label>+91</label><input type="text"  name="mobile_number" class="mobile-text" value="" >
            </div>
         </div>
         <ul class="list-inline pull-right">
            <li><button type="button" class="mob-btn btn btn-primary btn-info-full" data-dismiss="modal">Finish</button></li>
         </ul>
      </div>
      <div class="clearfix"></div>
   </div>
</form>

views.py

def home(request):
    mobile_number = request.POST.get('mobile_number')
    print(mobile_number)
    return render(request,"home.html", {'mobile_number': mobile_number})

当我尝试获取文本框None的值时,我收到mobile_number

如何获得正确的值?

2 个答案:

答案 0 :(得分:1)

您缺少来自发件人的提交按钮(<input type="submit" value="submit"/>)。

要在提交表单后查看表单上的值,请将mobile_number -row上的value=""更改为value="{{ mobile_number }}"

答案 1 :(得分:0)

我的解决方案 1.您必须在view.py中将表单字段中的操作设置为您的功能     <form class="forms-sample" name="form" action="{% url "update_size" %}" method="post">

  1. 您将按钮类型设为“提交”。

    <button type="Submit" value="Submit" name="Submit" class="btn btn-primary">

  2. url.py

    path('updatesize/', views.updatesize, name='update_size')

  3. View.py def updatesize(request): if (request.method == 'POST'): temp = request.POST.get('size_name') print("==================form================",temp) return redirect("/collection.html")