def update_domain(req, domain_table_id): if req.method == "POST": s_id = req.POST.get('edit_session_id') if not req.session.has_key("edit_session_id"): req.session['current_js'] = JS_DICT["fail_update"] % 'Null edit_session_id' return HttpResponseRedirect('/domain_manage/') if req.session["edit_session_id"] != s_id: req.session['current_js'] = JS_DICT["fail_update"] % '请勿重复提交' return HttpResponseRedirect('/domain_manage/') else: del req.session["edit_session_id"] cache_rules = req.POST.get('cache_rules', None) ip_str = req.POST.get('ip_list').strip() token = req.session.get('token') d = Domain.objects.using('api_db').get(id=domain_table_id) domain_name = d.domain_name test_url = d.test_url domain_id = d.domain_id service_type = d.domain_type ip_list = ip_str.split('\r\n') ip_list.reverse() try: api = DomainApi(token) domain = common_struct.Domain(domain_name=domain_name, origin_ips=ip_list, test_url=test_url, domain_id=domain_id, service_type=service_type, cache_behaviors=cache_rules) res = api.modify(domain) except Exception, e: traceback.print_exc(file=sys.stdout) LOG.error('Modify Domain Failed') req.session['current_js'] = JS_DICT["fail_update"] % e return HttpResponseRedirect('/domain_manage/') if res.status == 200: req.session['current_js'] = JS_DICT["succ_update"] else: req.session['current_js'] = JS_DICT["fail_update"] % json.loads(res.read()).get("error") session_id = '%s' % uuid.uuid1() req.session['edit_session_id'] = session_id return HttpResponseRedirect('/domain_manage/')