0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonだけでWebデザイン!Streamlitを使ってみた

Posted at

はじめに

僕は最近PythonでWebアプリ的な物をいつも作っています。
しかし、そういう時は大体Flaskでサーバーを立て、
HTMLを返すような構造にしています。HTMLを間に挟まないとアプリが作れないのです!

Streamlitとは?

Streamlitとは、フロントエンドを別で書かなくても
PythonでコーディングするだけでWebアプリが作れるというものです!

特徴

  • PythonだけでWebアプリが作れる
  • 簡単なコードでボタン、テキストボックスなどが配置できる
  • MarkdownやHTMLにも対応している
  • 最初から見た目が調整されている

使ってみよう

さっそく使ってみましょう。
インストールからサンプルコードまで解説します!

インストール

Streamlitは標準ライブラリではないので、
pipでインストールする必要があります。

pip install streamlit

Python3.14を使ったら、インストールできませんでした。
ベータ版なので、使っている人いないと思いますが

サンプルを動かそう

import streamlit as st

st.title("Hello, world!")
st.write("This is a sample streamlit application!")
button = st.button("Say hello")

if button:
    st.info("Hello world!")

このファイルを任意の名前で保存し、以下のコマンドを実行してください。

streamlit run <ファイル名>

すると...
streamlit-sample
ブラウザが開き、サンプルページが表示されました!

解説

st.title

タイトルを配置します。

ページのタイトルとは違うので注意です。

st.write

ページに文字列を書き込みます。
Markdown,HTMLにも対応しています。

HTMLを使うときは、unsafe_allow_html=Trueを指定すること。

st.button

ページにボタンを配置します。
ボタン押下時の動作は、

if button:
    # 動作

と書くことで可能です。

ほかの機能

Streamlitには他にも機能があります!

ほかの要素

st.radio

第一引数にラベル、第二引数に選択項目を指定すると、
radio
ラジオボタンが配置できます。

st.text_input

textinput
文字入力欄が作れます。placeholderも指定できます。

その他

  • ファイルを変更したら自動でリロードされる
  • config.tomlでテーマが指定できる

感じたこと

  • HTMLやCSSを習得しなくてもWebアプリが作れるのはうれしいと思った
  • ルーティングができないのは不便
  • 最初からレイアウトが整っているのがいい

終わりに

皆さんもStreamlitでWebアプリを作ってみてはいかがでしょうか?
最後まで読んでいただきありがとうございます。
コメント、いいねもお願いします:cheese::cake:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?