Посмотрите, что делают оригинальные методы response_change
или response_add
: они возвращают фрагмент javascript, который вызывает метод JS в родительском окне, которое закрывает всплывающее окно.
return HttpResponse('''
<script type="text/javascript">
opener.dismissAddAnotherPopup(window);
</script>'''
и в родительском окне есть скрипт, который имеет соответствующий метод:
function dismissAddAnotherPopup(win) {
win.close();
}
(Исходная версия передает больше параметров, поэтому она обновляет родительское окно новым объектом, но вам это не нужно, если вы просто хотите закрыть окно.)