def post(self): user = self.current_user form = NodeForm(self.request.arguments) if form.validate(): node = form.save(user) return self.redirect(node.url) return self.render("node/create.html", form=form)
def post(self): if not self.has_permission: return if not self.current_user.is_admin: return self.redirect_next_url() user = self.current_user form = NodeForm(self.request.arguments) if form.validate(): node = form.save(user) return self.redirect(node.url) return self.render("node/create.html", form=form)
def add(request): #获取来自NodeForm的表单数据 form = NodeForm(request.POST or None) #判断form是否有效 if form.is_valid(): #创建实例,需要做些数据处理,暂不做保存 instance = form.save(commit=False) #将登录用户作为登记人 instance.node_signer = request.user #保存该实例 instance.save() #跳转至列表页面 return redirect('/lists/') #创建context来集中处理需要传递到页面的数据 context = { 'form': form, } #如果没有有效提交,则仍留在原来页面 return render(request, 'add.html', context)
def add(request, table): #根据提交的请求不同,获取来自不同Form的表单数据 if table == 'node': form = NodeForm(request.POST or None) sub_title = '添加节点' if table == 'line': form = LineForm(request.POST or None) sub_title = '添加线路' if table == 'device': form = DeviceForm(request.POST or None) sub_title = '添加设备' #判断form是否有效 if form.is_valid(): #创建实例,需要做些数据处理,暂不做保存 instance = form.save(commit=False) #将登录用户作为登记人 if table == 'node': instance.node_signer = request.user if table == 'line': instance.line_signer = request.user if table == 'device': instance.device_signer = request.user #保存该实例 instance.save() #跳转至列表页面,配合table参数,进行URL的反向解析 return redirect('lists', table=table) #创建context来集中处理需要传递到页面的数据 context = { 'form': form, 'table': table, 'page_title': '基础资料', 'sub_title': sub_title, } #如果没有有效提交,则仍留在原来页面 return render(request, 'res_add.html', context)