Kwestionariusz osobowy z użyciem streamlit & JSON, a gdy go wyślesz, to w nagrodę polecą balony - Eliza J.

Kwestionariusz osobowy z użyciem streamlit & JSON, a gdy go wyślesz, to w nagrodę polecą balony - Eliza J.
import streamlit as st
import json
from datetime import datetime

# Edycja wyglądu formularza przy użyciu CSS i HTML
st.markdown("""
    <style>
        .title {
            text-align: center;
            color: #FF69B4;
            font-size: 2em;
        }
    </style>
""", unsafe_allow_html=True)

# Tytuł
st.markdown("""
    <h1 class="title">
        KWESTIONARIUSZ OSOBOWY DLA PRACOWNIKA
    </h1>
""", unsafe_allow_html=True)

# Opis
st.write("Proszę o uzupełnienie poniższego kwestionariusza.")

# Funkcja do zapisywania danych do pliku JSON
def save_to_json(kwestionariusz, imienny):
    with open(imienny, 'w') as f:
        json.dump(kwestionariusz, f, indent=4, default=str)

# Pola formularza
with st.form(key='my_form'):
    imie = st.text_input("Imię")
    nazwisko = st.text_input("Nazwisko")
    numtel = st.text_input("Numer telefonu")
    email = st.text_input("Adres e-mail")
    dataur = st.date_input("Data urodzenia", min_value=datetime(1900, 1, 1))
    pesel = st.text_input("PESEL")
    miejuro = st.text_input("Miejsce urodzenia")
    adres = st.text_input("Adres zamieszkania")
    wyksz = st.selectbox("Wykształcenie", ["Podstawowe", "Średnie", "Wyższe"]) #Lista rozwijalna

    # Przycisk wysyłania formularza
    submit_button = st.form_submit_button("Wyślij")

    # Obsługa wysłania formularza
    if submit_button:
        # Przygotowanie danych
        kwestionariusz = {
            'Imię': imie,
            'Nazwisko': nazwisko,
            'Numer telefonu': numtel,
            'Adres e-mail': email,
            'Data urodzenia': str(dataur),  # Konwersja daty na string
            'PESEL': pesel,
            'Miejsce urodzenia': miejuro,
            'Adres zamieszkania': adres,
            'Wykształcenie': wyksz
        }

        # Dynamiczna nazwa pliku
        imienny = f"kwestionariusz_{imie}_{nazwisko}.json"

        # Baloniki w nagrodę za wypełnienie
        st.balloons() 

        # Zapis danych do pliku JSON
        save_to_json(kwestionariusz,imienny)

        st.write("Dziękujemy za wypełnienie formularza!")
        st.write(f"Imię: {imie}")
        st.write(f"Nazwisko: {nazwisko}")