Erstellen eines Frontends nur mit Python

WBOY
Freigeben: 2024-08-29 06:34:02
Original
200 Leute haben es durchsucht

Frontend-Entwicklung kann für Backend-orientierte Entwickler eine entmutigende, ja sogar alptraumhafte Aufgabe sein. Zu Beginn meiner Karriere waren die Grenzen zwischen Frontend und Backend verschwommen und von jedem wurde erwartet, dass er beides beherrscht. Insbesondere CSS war ein ständiger Kampf; es fühlte sich wie eine unmögliche Mission an.

Obwohl mir die Frontend-Arbeit Spaß macht, bleibt CSS für mich eine komplexe Herausforderung, insbesondere da ich es durch Ausprobieren gelernt habe. Das Meme von Peter Griffin, der darum kämpft, Jalousien zu öffnen, fängt meine Erfahrung beim Erlernen von CSS perfekt ein.
Building a frontend using only Python

Aber heute ändert sich alles. Tools wie Streamlit haben das Spiel für Entwickler wie mich revolutioniert, die den Komfort eines schwarzen Bildschirms eines Terminals bevorzugen. Vorbei sind die Zeiten des Ringens mit Codezeilen, die wie kryptische Nachrichten von Außerirdischen aussehen (ich sehe dich an, CSS!).
Wie Doktor Károly Zsolnai-Fehér von Two Minute Papers immer sagt: „Was für eine Zeit, am Leben zu sein!“
Mit Streamlit können Sie eine komplette Webanwendung nur mit Python-Code erstellen.
Möchten Sie es in Aktion sehen? Schnall dich an, denn ich werde gleich meinen Versuch mit dir teilen, mit diesem tollen Tool das Frontend für SQLZilla zu erstellen.

Um es zu installieren, öffnen Sie einfach Ihr Terminal und wirken Sie diesen Zauber:

pip install streamlit
Nach dem Login kopieren

(Oder Sie können es Ihrer Datei „requirements.txt“ hinzufügen.)

Erstellen Sie eine Datei, app.py, und fügen Sie dieses Code-Snippet hinzu, um einen „SQLZilla“-Titel anzuzeigen:

import streamlit as st st.title("SQLZilla")
Nach dem Login kopieren

Machen Sie die Show!

Öffnen Sie Ihr Terminal erneut und geben Sie diesen Befehl ein, um Ihre Kreation zu aktivieren:

streamlit run app.py
Nach dem Login kopieren

Voila! Ihre Streamlit-App sollte in Ihrem Webbrowser erscheinen und stolz den Titel „SQLZilla“ anzeigen.

Fügen Sie ein Bild mit der Bildmethode hinzu. Um es zu zentralisieren, erstelle ich einfach drei Spalten und füge sie in der Mitte hinzu (Schande über mich)

st.title("SQLZilla") left_co, cent_co, last_co = st.columns(3) with cent_co: st.image("small_logo.png", use_column_width=True)
Nach dem Login kopieren

Um Konfigurationen und Abfrageergebnisse zu verwalten, können Sie den Sitzungsstatus verwenden. So können Sie Konfigurationswerte und Abfrageergebnisse speichern:

if 'hostname' not in st.session_state: st.session_state.hostname = 'sqlzilla-iris-1' if 'user' not in st.session_state: st.session_state.user = '_system' if 'pwd' not in st.session_state: st.session_state.pwd = 'SYS' # Add other session states as needed
Nach dem Login kopieren

Um SQLZilla mit einer InterSystems IRIS-Datenbank zu verbinden, können Sie SQLAlchemy verwenden. Installieren Sie zunächst SQLAlchemy mit:

pip install sqlalchemy
Nach dem Login kopieren

Dann richten Sie die Verbindung in Ihrer app.py-Datei ein:

from sqlalchemy import create_engine import pandas as pd # Replace with your own connection details engine = create_engine(f"iris://{user}:{password}@{host}:{port}/{namespace}") def run_query(query): with engine.connect() as connection: result = pd.read_sql(query, connection) return result
Nach dem Login kopieren

Sobald Sie eine Verbindung zur Datenbank hergestellt haben, können Sie Pandas und Streamlit verwenden, um die Ergebnisse Ihrer Abfragen anzuzeigen. Hier ist ein Beispiel für die Anzeige eines DataFrames in Ihrer Streamlit-App:

if 'query' in st.session_state: query = st.session_state.query df = run_query(query) st.dataframe(df)
Nach dem Login kopieren

Um Ihre App interaktiver zu gestalten, können Sie st.rerun() verwenden, um die App zu aktualisieren, wenn sich die Abfrage ändert:

if 'query' in st.session_state and st.button('Run Query'): df = run_query(st.session_state.query) st.dataframe(df) st.rerun()
Nach dem Login kopieren

Sie können verschiedene Streamlit-Komponenten finden, die Sie verwenden können. In SQLZilla habe ich eine ACE-Code-Editor-Version namens streamlit-code-editor:
hinzugefügt

from code_editor import code_editor editor_dict = code_editor(st.session_state.code_text, lang="sql", height=[10, 100], shortcuts="vscode") if len(editor_dict['text']) != 0: st.session_state.code_text = editor_dict['text']
Nach dem Login kopieren

Da der SQLZilla-Assistent in Python geschrieben ist, habe ich die Klasse einfach aufgerufen:

from sqlzilla import SQLZilla def assistant_interaction(sqlzilla, prompt): response = sqlzilla.prompt(prompt) st.session_state.chat_history.append({"role": "user", "content": prompt}) st.session_state.chat_history.append({"role": "assistant", "content": response}) if "SELECT" in response.upper(): st.session_state.query = response return response
Nach dem Login kopieren

Herzlichen Glückwunsch! Sie haben Ihre eigene SQLZilla erstellt. Entdecken Sie Streamlit weiter und erweitern Sie Ihre App mit weiteren Funktionen. Und wenn Ihnen SQLZilla gefällt, stimmen Sie für diesen unglaublichen Assistenten, der Text in Abfragen umwandelt!

Das obige ist der detaillierte Inhalt vonErstellen eines Frontends nur mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!