if not request.user.is_authenticated(): form._errors.setdefault("__all__", ErrorList()).append("Для заказа авторизируйтесь.") else: try: rpc_srv = conn.TimeoutServerProxy(office.xmlrpc, timeout=2) res = rpc_srv.reserve_car(car_id, start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d")) except Exception, exc: return render(request, 'message.html', {'result': 'Офис не ответил.' + str(exc)}) if res == False: form._errors.setdefault("__all__", ErrorList()).append("Невозможно совершить заказ.") else: order = Order() order.reserve(car_id, car['name'], start_date, end_date) order.office = office order.order = int(res[0]) order.sum = int(res[1]) order.user = request.user order.save() return HttpResponseRedirect(reverse('account:index')) return render(request, 'catalog/detail.html', { 'car': car, 'form': form, }) def reserve(request, office_name, car_id): pass