Postaram się wyjaśnić dość prosto, bo widzę że jest tu trochę zamieszania.
Każdą typową aplikację webową na której widzisz jakieś formularze może podzielić na dwie części:
Cześć klienta - to co otwiera Ci się w przeglądarce i z czym możesz prowadzić interakcje (zwana potocznie jako front-end w żargonie). Tu głownie wyróżniamy 3 technologię które się uzupełniają HTML, CSS i JavaScript. To one tworzą interaktywne, kolorowe aplikacje, formularze i wszystko co wyświetla Ci się po wejściu na strone.
Część serwerowa - to co jest wykonywane po stronie serwera, jak odebranie danych z formularza i zapisanie ich do bazy (zwana potocznie jako back-end). Tu masz część aplikacji która wykonuje pewne operacje na serwerze, bazie danych, odpytuje o dane inne serwisy itp. Tu właśnie jest część dla Pythona, Django i Flaska.
Ten podział jest ważny z kilku powodów ale jednym z głownych jest zapewnienie separacji dostępu dla użytkownika. Nie chcesz by każdy użytkownik przykładowo mógł mieć dostęp bezpośrednio do całej twojej bazy, nie możesz po stronie użytkownika (klienckiej) zapisywać hasła do bazy gdzie trzymasz przykładowo prywatne wiadomości wszystkich użytkowników. Dlatego jest ten podział.
Jednak o co tutaj pytasz, że chciałbyś aplikację lokalną która przesyłasz na dany komputer i tam odpalasz jest to jak najbardziej możliwe. Przykładowo chciałbyś stworzyć jakiś kalkulator który coś przelicza, a wyniki nie trzeba zapisywać do bazy gdzieś na serwerrze, ale można przykładowo zapisać do arkusza kalkulacyjnego na dysku. W takim przypadku ta separacja nie jest nam do niczego potrzeba, taką lokalną aplikację można przygotować tylko za pomocą HTML, CSS i JavaScriptu (tu jest kilka technik do wykonywania tego typu aplikacji).
Możesz też stworzyć taką aplikację za pomocą pythona, ale będzie to typowa aplikacja okienkowa jak notatnik czy paint, a nie odpalana w przeglądarce.