def new_item(request): last_save_item="" if request.method == 'POST': return_list=request.POST.get('return_list') add_another=request.POST.get('add_another') form = ItemForm(request,data=request.POST) if form.is_valid(): new_item = form.save() new_item.save() if not return_list: #继续新建 form = ItemForm(request,initial={'pub_date':timezone.now().date()}) if new_item.category.isIncome: isIncome=u"收入" else: isIncome=u"支出" last_save_item=u'您刚提交的"'+new_item.category.name+u'"分类下"'+str(new_item.price)+u'"元"'+isIncome+u"已保存" else: #返回列表 return HttpResponseRedirect("/jizhang") else: form = ItemForm(request,initial={'pub_date':timezone.now().date()}) most_used_categorys = Category.objects.filter(user__username=request.user.username).annotate(num_items=Count('item')).filter(num_items__gt=0).order_by('-num_items')[:8] context = {'last_save_item':last_save_item,'form':form,'username':request.user.username,'most_used_categorys':most_used_categorys} return render_to_response('jizhang/new_item.html',RequestContext(request,context))
def new_item(request, template_name='jizhang/new_item.html'): if request.method == 'POST': form = ItemForm(request,data=request.POST) if form.is_valid(): form.save() return HttpResponseRedirect("/jizhang") else: form = ItemForm(request,initial={'pub_date':timezone.now().date()}) return render(request, template_name,{'form':form})
def edit_item(request, pk, template_name='jizhang/new_item.html'): if request.method == 'POST': form = ItemForm(request,data=request.POST) if form.is_valid(): form.save(pk) return HttpResponseRedirect("/jizhang") else: item_list = get_object_or_404(Item, id=pk) form = ItemForm(request,instance=item_list) return render(request, template_name,{'form':form})
def item(request,pk): if request.method == 'POST': form = ItemForm(request,data=request.POST) if form.is_valid(): new_item = form.save() new_item.id=pk new_item.save() return HttpResponseRedirect("/jizhang") else: item_list = get_object_or_404(Item, id=pk) form = ItemForm(request,instance=item_list) most_used_categorys = Category.objects.filter(user__username=request.user.username).annotate(num_items=Count('item')).filter(num_items__gt=0).order_by('-num_items')[:6] context = {'form':form,'username':request.user.username,'most_used_categorys':most_used_categorys} return render_to_response('jizhang/new_item.html',RequestContext(request,context))
def new_item(request): other_error = '' if request.method == 'POST' and request.is_ajax(): print(request.POST) form = ItemForm(request, data=request.POST.copy()) # 提交的数据构建该用户的表单对象 if form.is_valid(): # 数据经过基本验证 clean_data = form.cleaned_data # 验证过的数据 try: category = Category.objects.get(id=int( clean_data['category'])) # 从数据库中获取该分类 except Category.DoesNotExist: form.add_error('category', '该分类已经不存在') # 某些异常 else: pub_date = clean_data['pub_date'] price = clean_data['price'] comment = clean_data['comment'] new_item = Item(pub_date=pub_date, category=category, price=price, comment=comment) # 通过Item模型将数据保存到数据库 new_item.save() print('Item创建成功') in_json = json.dumps([True, {}]) # 返回操作状态,成功 return HttpResponse(in_json, content_type='application/json') in_json = json.dumps([False, form.errors]) # 错误 return HttpResponse(in_json, content_type='application/json') # 表单验证不通过,返回错误信息 else: form = ItemForm(request) return render(request, "jizhang/new_item.html", { 'form': form, 'other_error': other_error })
def edit_item(request, item_id): ''' 1、修改的记录id是item_id 2、获取该记录 3、使用提交的数据更新该记录 ''' other_error = "" try: modify_item = Item.objects.get(id=item_id) except Item.DoesNotExist: pass else: if request.method == 'POST' and request.is_ajax(): form = ItemForm(request, data=request.POST.copy()) # 使用提交的数据构建表单 if form.is_valid(): # 如果数据格式正确 clean_data = form.cleaned_data # 验证过的数据 c_id = int(clean_data['category']) try: category = Category.objects.get(id=c_id) # 分类不存在将抛出异常 except Category.DoesNotExist: form.add_error('category', '该分类已经不存在') else: modify_item.pub_date = clean_data['pub_date'] modify_item.category = category modify_item.price = clean_data['price'] modify_item.comment = clean_data['comment'] try: modify_item.save() except Exception: other_error = "修改保存时发生异常" else: print('Item修改成功') in_json = json.dumps([True, {}]) # 返回成功操作的结果 return HttpResponse(in_json, content_type='application/json') else: in_json = json.dumps([False, form.errors]) # 返回错误操作的结果 return HttpResponse( in_json, content_type='application/json') # 表单验证不通过,返回错误信息 else: # 构建待修改账单的表单 pub_date = modify_item.pub_date category = modify_item.category.id price = modify_item.price comment = modify_item.comment form = ItemForm(request, data={ 'pub_date': pub_date, 'category': category, 'price': price, 'comment': comment }) return render(request, 'jizhang/new_item.html', { 'form': form, 'other_error': other_error })
def new_item(request, template_name='jizhang/new_item.html'): if request.method == 'POST': form = ItemForm(request, data=request.POST) if form.is_valid(): form.save() return HttpResponseRedirect("/jizhang") else: form = ItemForm(request, initial={'pub_date': timezone.now().date()}) return render(request, template_name, {'form': form})
def edit_item(request, pk, template_name='jizhang/new_item.html'): if request.method == 'POST': form = ItemForm(request, data=request.POST) if form.is_valid(): form.save(pk) return HttpResponseRedirect("/jizhang") else: item_list = get_object_or_404(Item, id=pk) form = ItemForm(request, instance=item_list) return render(request, template_name, {'form': form})