最近在跟着学习django的视频,然后遇到做一个计算器,按照他要求的一步一步来的,但是还是出错,研究半天都没结果。请求大家帮助,我是新。
首先是html的语句
<form method="post" action="/my_calculation">
<input type="text",name="x",value="{{ x }}">
<select name="op">
<option value="add">+</option>
<option value="sub">-</option>
<option value="mul">*</option>
<option value="div">/</option>
</select>
<input type="text",name="y",value="{{ y }}">=<span>{{ result }}</span>
<div><input type="submit",value="Begin"></div>
</form>
然后传到了views
def test_mycalculation(request):
if request.method == 'GET':
return render(request,'calculator.html')
elif request.method == 'POST':
x = int(request.POST['x'])
y = int(request.POST['y'])
op = request.POST['op']
result = 0
if op == 'add':
result = x+y
elif op == 'sub':
result = x-y
elif op == 'mul':
result = x*y
elif op == 'div':
result = x/y
return render(request,'calculator.html',locals())
最后给的urls
path('my_calculation', views.test_mycalculation)
运行的结果是计算界面有的,而且能够输入,但是按计算的时候报错
我尝试过看传入的x和y的参数,结果论证是none,就说明htm没有传到view里面来
请问大家怎么处理。
看代码只是传了x的数值,并没有传入y的值
y = int(request.POST['x']) 改成 y = int(request.POST['y'])
x = int(request.POST.get('x'))