layui使用ajax传数据:
//监听提交
form.on('submit(add)', function(data){
$.ajax({
cache: false,
url:'{% url "Task_add" %}',
method:'post',
dataType:'json',
data:data.field,
async: true,
success: function (res) {
if(res.status == 'success'){
layer.msg('提交成功' + res.msg, {icon: 1, time: 1000});
setTimeout("parent.location.reload()", 1100);
}else if (res.status == 'fail'){
layer.msg('提交失败' + res.msg, {icon: 2, time: 1000});
setTimeout("parent.location.reload()", 1100);
}
},
error: function () {
layer.msg('提交失败error' + res.msg, {icon: 2, time: 1000});
setTimeout("parent.location.reload()", 1100);
}
});
return false;
});
django view接受数据
使用forms.ModelForm验证表单,再保存。
class TaskAddForm(forms.ModelForm):
class Meta:
model = Tasklist
fields = ['title', 'content', 'category']
class TaskAddView(View):
def get(self, request):
all_categories = Categories.objects.all()
return render(request, "task-add.html", {
"all_categories": all_categories
})
def post(self, request):
TaskAdd_form = TaskAddForm(request.POST)
if TaskAdd_form.is_valid():
instance = TaskAdd_form.save(commit=False)
instance.fromUser = request.user
instance.toUser = MANAGE_USER
instance.code = self.generate_order_sn()
instance.save()
return HttpResponse('{"status":"success", "msg":"添加成功"}', content_type='application/json')
else:
return HttpResponse('{"status":"fail", "msg":"添加失败"}', content_type='application/json')
def generate_order_sn(self): # 编码
# 当前时间+随机数
from random import Random
random_ins = Random()
order_sn = "{time_str}{ranstr}".format(time_str=time.strftime("%Y%m%d%H%M%S"), ranstr=random_ins.randint(10, 99))
return order_sn