def ups_shipping(request): request_context = RequestContext(request) context = {'request': request} weight = "2" connection = UPSConnection(settings.UPS_USER_ID, settings.UPS_USER_PWD, settings.UPS_ACCESS_KEY, UPS_CONNECTION_TEST ) package = UPSPackage(weight=weight) ship_to = { 'address': { 'zip': 84003, 'country': 'US', 'city': 'Provo', } } shipment = UPSShipment(settings.SHIPPER_OBJECT, ship_to, [package]) ups_rate_req = UPSRateRequest(shipment) ups_rate = connection.execute(ups_rate_req) context['ups_rate'] = json.dumps(ups_rate) shipping_options = [] for row in ups_rate['RatedShipment']: shipping_options.append({ 'option': UPS_SERVICE_CODES[row['Service']['Code']], 'price': row['TotalCharges']['MonetaryValue'], 'code': row['Service']['Code'] }) context['shipping_options'] = shipping_options return render_to_response('ups.html', context, context_instance=request_context)