def handler_cache(req): if req.method == 'POST': url = req.POST.get('url') url_type = req.POST.get('type') username = req.COOKIES.get('username') project_id = req.session['project_id'] token = req.session.get('token') ############ 判断是否是当前项目下的域名########### pattern = re.compile('http:\/\/(.*?)\/') re_result = pattern.findall(url) if username == settings.SUPERADMIN: domains = Domain.objects.using('api_db').all().values_list('domain_name') else: domains = Domain.objects.using('api_db').filter(project_id=project_id).values_list('domain_name') this_domains = [] for d in domains: this_domains.append(d[0]) for r in re_result: if r not in this_domains: result = '请不要操作该项目以外的域名' return HttpResponse(result) ################################################# api = DomainApi(token) urls_list = url.split('\n') if url_type == "0" or url_type == "1": # 0 是目录, 1是文件 if url_type == "1": key = "urls" else: key = "dirs" json_str = {key: urls_list, "project_id": project_id, "username": username} res = api.purge(json_str) else: json_str = {"urls": urls_list, "project_id": project_id, "username": username} res = api.prefetch(json_str) if res.status == 200: result = '成功!' else: result = json.loads(res.read()).get("error") return HttpResponse(result) else: if not req.session.has_key("project_id"): return HttpResponseRedirect('/login/') else: project_id = req.session['project_id'] username = req.COOKIES.get('username') if username == settings.SUPERADMIN: tasks = TaskList.objects.using('api_db').all() else: tasks = TaskList.objects.using('api_db').filter(project_id=project_id) for t in tasks: t.task_content = t.task_content.replace(',', '<br>') project_list = req.session['project_list'] return render_to_response("refresh_cache.html", locals())