【发布时间】:2018-02-03 18:17:38
【问题描述】:
我的 django 表单无效,因此 .is_valid 方法永远不会返回 true。结果,我收到“预期的 HttpResponse,但没有收到”类型的错误,因为我的代码从不执行 if 条件内的内容。我想知道如何使我的表格有效。我是 django 的新手,所以我可能遗漏了一些明显的东西。这是我的代码:
views.py
template_name1 = 'multiplication/detail.html'
template_name2 = 'multiplication/multiplied.html'
class myForm(forms.Form):
quantity1 = forms.IntegerField(required=False)
quantity2 = forms.IntegerField(required=False)
form = myForm()
def get(request):
return render(request,template_name1,{'form': form} )
def multiply_two_integers(x,y):
return x*y
def post(request):
if (form.is_valid()):
x = request.POST.get('quantity1')
y = request.POST.get('quantity2')
product = multiply_two_integers(x, y)
return render(request, template_name2, {'form': form, 'product':
product })
模板名称1
<h1>Multiplication Function</h1>
<form action = "{% url 'multiplication:post' %}" method = "post">
{{ form.as_p }}
{% csrf_token %}
<input type = "submit" value ="Multiply">
<!--<button type="submit"> Multiply </button>-->
<h1>{{product}}</h1>
</form>
模板名称2
<h1>{{product}}</h1>
网址/乘法
from django.urls import path
from multiplication import views
app_name = 'multiplication'
urlpatterns = [
# /multiplication/
path('', views.get, name = 'get'),
path('multiplied', views.post, name='post')
]
【问题讨论】:
标签: python django forms user-interface