【问题标题】:How to get textbox value in views.py django如何在views.py django中获取文本框值
【发布时间】:2017-05-08 20:17:51
【问题描述】:

我正在尝试从 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})

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

我怎样才能得到正确的值?

【问题讨论】:

  • 如果可能,请添加更多描述。当我试图保存编辑时,SO 抱怨代码更多而描述更少,所以我不得不复制/分割一些句子。
  • 尝试移除表单的action属性
  • @AlmasK89 已删除,但仍获得 None 值。
  • 您是否启用了“django.middleware.csrf.CsrfViewMiddleware”中间件?如果是,则需要发送 csrf 令牌。只需将 {% csrf_token %} 添加到您的表单中。
  • 在 settings.py 中有 django.middleware.csrf.CsrfViewMiddleware 这个值。如何发送 csrf 令牌?

标签: python html django django-forms


【解决方案1】:

您缺少来自发件人的提交按钮 (&lt;input type="submit" value="submit"/&gt;)。

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

【讨论】:

    【解决方案2】:

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

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

      &lt;button type="Submit" value="Submit" name="Submit" class="btn btn-primary"&gt;

    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")

    【讨论】:

      猜你喜欢
      • 2021-10-14
      • 2016-04-03
      • 2018-05-21
      • 2015-11-01
      • 2013-11-17
      • 1970-01-01
      • 2021-06-28
      • 2016-05-02
      • 2014-07-17
      相关资源
      最近更新 更多