Streamlit- zajęcia 12

Streamlit- zajęcia 12
Photo by U. Storsberg / Unsplash
#Formularz dla pracowników stworzony ze streamlit, który zapisuje ich dane do #pliku w formacie json.
import streamlit as st
import json
import os

def czy_wypelnione(imie, nazwisko, pesel, adres, kod_pocztowy, urzad_skarbowy):
    return all([imie, nazwisko, pesel, adres, kod_pocztowy, urzad_skarbowy])

def zapisz_do_json(dane, nazwa_pliku="dane_pracownikow.json"):
    if os.path.exists(nazwa_pliku):
        with open(nazwa_pliku, 'r') as plik:
            istniejące_dane = json.load(plik)
    else:
        istniejące_dane = []

    istniejące_dane.append(dane)

    with open(nazwa_pliku, 'w') as plik:
        json.dump(istniejące_dane, plik, indent=4)

st.header('Formularz Pracowników')

with st.form("formularz"):
    imie = st.text_input("Imię: ")
    nazwisko = st.text_input("Nazwisko: ")
    pesel = st.text_input("PESEL: ")
    adres = st.text_input("Adres zamieszkania: ")
    kod_pocztowy = st.text_input("Kod pocztowy: ")
    urzad_skarbowy = st.text_input("Urząd Skarbowy: ")
    
    przesylanie = st.form_submit_button("Prześlij")
    

    if czy_wypelnione(imie, nazwisko, pesel, adres, kod_pocztowy, urzad_skarbowy):
        st.write("Formularz wypełniony poprawnie.")

        dane_pracownika = {
                "Imię": imie,
                "Nazwisko": nazwisko,
                "PESEL": pesel,
                "Adres zamieszkania": adres,
                "Kod pocztowy": kod_pocztowy,
                "Urząd Skarbowy": urzad_skarbowy
            }
        zapisz_do_json(dane_pracownika)
        
    else:
        st.write("Wypełnij brakujące pola.")  
#uruchamianie formularza-> w terminalu wpisać streamlit run nazwa_pliku.py