Путь web-разработчика должен начинаться с понимания, что сайт - это на самом деле не одно приложение, а два, написанные на разных языках, работающие на разных компьютерах, в разном окружении и в разное время.
В случае Django работу сайта можно разбить на следующие этапы:
- Пользователь запустил браузер и ввёл адрес сайта
- Браузер установить tcp-соединение с сервером
- Браузер отправил в соединение http-запрос
- Сервер в ответ на запрос запустил соответствующий python-скрипт
- Python-cкрипт в процессе работы сформировал некоторое количество текста и отправил в tcp-соединение
- Python-скрипт завершил работу
- Браузер принял весь текст от сервера и закрыл соединение
- Браузер проанализировал полученных текст и нарисовал пользователю страницу
Все дальнейшие действия пользователя будут обрабатываться только в браузере, самим браузером и\или javascript'ом. И javascript, и браузер будут работать с теми данными, которые получили от сервера. Если понадобятся другие данные или нужно будет какие-то данные серверу передать, придётся повторить операции из списка выше, или с помощью отправки формы или с помощью ajax-запроса.
Отсюда ответ на ваш вопрос, если хотите чтобы Django отреагировал на нажатие кнопки, придётся отправить ему http-запрос, или с помощью формы или с помощью AJAX.