Heim  >  Artikel  >  Backend-Entwicklung  >  Mit Streamlit ist das Erstellen einer Webanwendung so EINFACH

Mit Streamlit ist das Erstellen einer Webanwendung so EINFACH

DDD
DDDOriginal
2024-10-23 21:25:02934Durchsuche

Making a Webapp is so EASY with Streamlit

Streamlit ist bei Datenwissenschaftlern sehr beliebt, da Sie im Allgemeinen keine Frontend-Kenntnisse benötigen.

Sie stellen einfache und leicht zu implementierende Elemente und Widgets bereit, ohne viel Code schreiben zu müssen.

Ich habe Streamlit mehrmals in meinen ML/KI-Projekten verwendet und die Erfahrung war großartig. Sie können sich mehr auf das Schreiben der Logik konzentrieren und der Frontend-Teil (Design, Layout und mehr) wird von Streamlit sehr gut gehandhabt.

Ich habe mit Streamlit und Python eine Demo-Webanwendung erstellt, damit Sie verstehen können, was ich sage.

Webapp

In dieser Webanwendung geht es um die Konvertierung eines Bildformats in ein anderes Format. Wenn Ihr Bild beispielsweise im PNG-Format vorliegt, können Sie es in ein JPEG-Bild konvertieren.

Der folgende Code erstellt die Benutzeroberfläche der Webapp.

import streamlit as st
from imgconvrtr import convert_img_format
from PIL import Image

# Webpage setup
st.set_page_config(page_title="Image Convrtr")
st.title("Image Converter")
st.write("Convert your images in one _click_")

# File uploader
uploaded_file = st.file_uploader(
    "Upload an image",
    type=["png", "jpg", "jpeg", "jfif", "bmp"]
)

if uploaded_file is not None:
    # Show the uploaded image
    img = Image.open(uploaded_file)
    st.image(img, caption="Uploaded Image", use_column_width=True)

    # Show original image format
    st.write(f"Original format: {img.format}")

    # Output format selection
    format_options = ["PNG", "JPEG", "JFIF", "BMP"]
    output_format = st.selectbox("Choose output format", format_options)

    # Convert the image
    if img.format != output_format:
        if st.button("Convert"):
            converted_img = convert_img_format(uploaded_file, output_format.lower())
            st.write(f"Image converted to {output_format}")

            # Download button
            st.download_button(
                label=f"Download as {output_format}",
                data=converted_img,
                file_name=f"image.{output_format.lower()}",
                mime=f"image/{output_format.lower()}"
            )
    else:
        st.write("Select a different format... Yo!")

Jetzt haben Sie bereits eine kurze Vorstellung davon, was diese Webapp macht. Wir können direkt mit der Diskussion der in diesem Code verwendeten Komponenten beginnen.

Zu Beginn sehen Sie Seitenelemente wie st.title und st.write, die zum Festlegen des Seitentitels bzw. zum Anzeigen von Text auf der Seite verwendet werden.

Als nächstes sehen Sie ein Widget zum Hochladen einer Datei (in diesem Fall zum Hochladen eines Bildes). Sehen Sie, wie einfach es ist, einen Datei-Uploader zu erstellen.

st.image wird verwendet, um das vom Benutzer hochgeladene Bild anzuzeigen.

Dann haben wir ein Dropdown-Menü zur Auswahl verschiedener Formate, das mithilfe eines Selectbox-Widgets (st.selectbox) erstellt wird.

Jetzt können Sie sehen, dass wir zwei Schaltflächen haben (st.button und st.download_button). Sie sind beide gleich, aber es geht nur um Bequemlichkeit.

Der st.button zeigt ein Schaltflächen-Widget an, das wir hier für die Bildkonvertierung verwendet haben.

Der st.download_button ist nützlich, wenn der Benutzer die Datei direkt aus der App herunterladen muss.

Streamlit bietet zahlreiche Elemente und Widgets für verschiedene Zwecke.

Wenn Sie diese Webanwendung nun ausprobieren möchten, müssen Sie die erforderlichen Bibliotheken installieren:

pip install streamlit pillow

Hier ist die Bildkonvertierungsfunktion:

from PIL import Image
import io

# Function to convert image format
def convert_img_format(image_file, frmat):
    with Image.open(image_file) as img:
        output_img = io.BytesIO()
        img.save(output_img, format=frmat.upper())
        output_img.seek(0)
        return output_img

Führen Sie die App mit dem folgenden Befehl aus:

streamlit run <script_name>.py

Durch den tatsächlichen Skriptnamen ersetzen.


Das ist alles für den Moment.
Codieren Sie weiter✌✌

Das obige ist der detaillierte Inhalt vonMit Streamlit ist das Erstellen einer Webanwendung so EINFACH. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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