Membuat Aplikasi Web adalah sangat MUDAH dengan Streamlit

DDD
Lepaskan: 2024-10-23 21:25:02
asal
1006 orang telah melayarinya

Making a Webapp is so EASY with Streamlit

Streamlit adalah jenis yang popular dalam kalangan saintis data kerana anda tidak memerlukan pengetahuan frontend secara umum.

Ia menyediakan elemen dan widget yang ringkas dan mudah dilaksanakan tanpa menulis banyak kod.

Saya menggunakan streamlit beberapa kali dalam projek ML/AI saya, dan pengalaman itu hebat. Anda boleh lebih memfokuskan pada menulis logik dan bahagian hadapan (reka bentuk, reka letak dan banyak lagi) dikendalikan dengan sangat baik oleh streamlit.

Saya mencipta aplikasi web demo menggunakan streamlit dan Python supaya anda boleh memahami apa yang saya katakan.

Aplikasi web

Apl web ini adalah tentang menukar format imej kepada format lain, contohnya, jika imej anda dalam format PNG, anda boleh menukarnya kepada imej JPEG.

Kod berikut menjadikan antara muka pengguna apl web.

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!")
Salin selepas log masuk

Kini anda sudah mempunyai idea ringkas tentang perkara yang dilakukan oleh aplikasi web ini. Kita boleh terus membincangkan komponen yang digunakan dalam kod ini.

Pada mulanya, anda boleh melihat elemen halaman seperti st.title dan st.write yang digunakan untuk menetapkan tajuk halaman dan memaparkan teks pada halaman, masing-masing.

Seterusnya, anda boleh melihat widget untuk memuat naik fail (dalam kes ini digunakan untuk memuat naik imej). Lihat betapa mudahnya untuk membuat pemuat naik fail.

st.image digunakan untuk memaparkan imej yang dimuat naik oleh pengguna.

Kemudian kami mempunyai menu lungsur untuk memilih pelbagai format yang dibuat menggunakan widget kotak pilihan (st.selectbox).

Kini, anda boleh lihat kami mempunyai dua butang (st.button dan st.download_button). Kedua-duanya adalah sama tetapi ini semua tentang kemudahan.

Butang st.memaparkan widget butang yang kami gunakan di sini untuk penukaran imej.

Button st.download_membuatnya berguna apabila pengguna perlu memuat turun terus fail daripada apl.

Streamlit menyediakan pelbagai elemen dan widget untuk tujuan yang berbeza.

Sekarang jika anda ingin mencuba aplikasi web ini, anda perlu memasang perpustakaan yang diperlukan:

pip install streamlit pillow
Salin selepas log masuk

Berikut ialah fungsi penukaran imej:

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
Salin selepas log masuk

Jalankan apl menggunakan arahan berikut:

streamlit run <script_name>.py
Salin selepas log masuk

Ganti dengan nama skrip sebenar.


Itu sahaja buat masa ini.
Teruskan Pengekodan✌✌

Atas ialah kandungan terperinci Membuat Aplikasi Web adalah sangat MUDAH dengan Streamlit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan