有人可以帮我解决这个问题:
@login_required
def job(request):
if request.method == 'POST':
form = JobForm(request.POST)
if form.is_valid():
job_record = form.save(commit=False)
job_record = form.save(commit=False)
job_record.user = request.user
job_record.save()
return redirect('jobs:list')
else:
form = JobForm()
return render(request, 'jobs/form.html', {'form': form})
答案 0 :(得分:4)
您为operator
名称分配了一个字符串:
operator = randomOp[0]
您现在正在屏蔽operator
模块。不要重复使用这样的名称,因为for
循环operator.add
的下一次迭代现在尝试在该字符串上查找add
属性(因此{{1}之一无论是随机选择的第一次迭代,都是,'+'
或'-'
。
您还直接导入了3个功能:
'*'
所以一个简单的解决方案是使用这3个名称而不是引用模块上的函数:
import operator
from operator import add, sub, mul
我使用元组而不是列表(因为更改代码中的ops = (("+", add), ("-", sub), ("*", mul))
序列可能是一个错误)。您也可以移动ops
循环的 out ;每次迭代重建它都没什么意义。