【发布时间】: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