def add_address(request): user = User.objects.get(pk=request.session.get('uid')) if Address.objects.filter(user=user).count() > 20: return JsonResponse({'code': 1, 'msg': '只能添加20个地址'}) if not request.POST.get('a_email') or not request.POST.get('a_phone') or not request.POST.get('a_region') or not request.POST.get('a_place') or not request.POST.get('a_name') or not request.POST.get('fixed_telephone'): return JsonResponse({'code': 1, 'msg': '参数错误'}) address = Address() address.a_email = request.POST.get('a_email') address.a_phone = request.POST.get('a_phone') address.a_region = request.POST.get('a_region') address.a_place = request.POST.get('a_place') address.a_name = request.POST.get('a_name') address.fixed_telephone = request.POST.get('fixed_telephone') address.user = user if Address.objects.filter(user=user).count() == 0: address.is_default = True address.save() return JsonResponse({'code': 0})
def address(request): user_id = request.user.id if request.method == 'GET': data = { 'title': '我的', 'is_login': True } user = Users.objects.get(pk=user_id) data['username'] = user.u_username user_address = Address.objects.filter(a_user_id=user_id).order_by('-a_is_default') data['address'] = user_address data['cart_num'] = get_cart_num(user_id) return render(request, 'user/address.html', context=data) elif request.method == "POST": name = request.POST.get('name') phone = request.POST.get('phone') address_detail = request.POST.get('address') code = request.POST.get("code") if request.POST.get('default'): default = True address_sure = Address.objects.filter(a_user_id=user_id).get(a_is_default=True) address_sure.a_is_default = False address_sure.save() else: default = False try: address_sure = Address.objects.filter(a_user_id=user_id).get(a_is_default=True) except Address.DoesNotExist: default = True address_obj = Address() address_obj.a_name = name address_obj.a_phone = phone address_obj.a_address = address_detail address_obj.a_code = code address_obj.a_is_default = default address_obj.a_user_id = user_id address_obj.save() return redirect(reverse('users:address'))