純粋に Python で構築された Web アプリケーション フレームワーク

4fcfa617b6d043e1947e97cbc94742df.png

迷子になった本の少年

読んだ後に必要

5

速読にはわずか2分しかかかりません

1

   

導入

Python Web アプリケーション フレームワークは数多くありますが、そのほとんどは小規模データ アプリケーション向けに設計されているか、大規模では証明されていないパラダイムを使用しています。アプリケーションの複雑さが増すにつれて、コードの編成、再利用性、および状態が損なわれることが多く、その結果、コードが乱雑になったり、React を直接使用してアプリケーションを開発したりすることになります。

ソラーラはこの問題を解決します。React のような API を使用すると、スケーラビリティを心配する必要がありません。React は、世界最大の Web アプリケーションを強化できる能力を証明しています。Solara は、React (Reacton) の純粋な Python 実装を使用して、ipywidget ベースのアプリケーションを作成します。これらのアプリケーションは、Jupyter Notebook 内で実行することも、FastAPI などのフレームワークを通じてスタンドアロン Web アプリケーションとして実行することもできます。このパラダイムにより、コンポーネントベースのコードと非常にシンプルな状態管理が可能になります。

ipywidget 上に構築することで、既存のウィジェット エコシステムを自動的に活用し、JupyterLab、Jupyter Notebook、Voilà、Google Colab、DataBricks、JetBrains Datalore などの多くのプラットフォームで実行できます。

2

   

インストール

pipコマンドを使ってインストールする

pip install solara

3

   

基本的な文法

3.1

   

リアクティブ変数を作成する

Solara.reactive() を使用して応答性の高い変数を作成します。これを UI コンポーネントにバインドして、データの応答性の高い更新を実装できます。

count = solara.reactive(0)

3.2

   

コンポーネントを定義する

コンポーネントは @solara.component デコレータを使用して定義できます

@solara.component
def MyComponent():
    # 组件的实现

コンポーネントは応答変数を表示したり、他の Solara コンポーネントを含めたりできます。

3.3

   

参照コンポーネント

コンポーネント関数を直接呼び出してコンポーネントをレンダリングします。

MyComponent()

3.4

   

リアクティブ変数を更新する

リアクティブ変数が更新されると、その変数がバインドされているコンポーネントも自動的に更新されます。

count.value += 1

Solara は、応答性の高い変数を介してデータとコンポーネントを接続し、単純な Python 構文を使用して動的ページを構築します

4

   

サンプルコード

以下は公式の完全なコード例です

import solara


sentence = solara.reactive("Solara makes our team more productive.")
word_limit = solara.reactive(10)




@solara.component
def Page():
    word_count = len(sentence.value.split())


    solara.SliderInt("Word limit", value=word_limit, min=2, max=20)
    solara.InputText(label="Your sentence", value=sentence, continuous_update=True)


    if word_count >= int(word_limit.value):
        solara.Error(f"With {word_count} words, you passed the word limit of {word_limit.value}.")
    elif word_count >= int(0.8 * word_limit.value):
        solara.Warning(f"With {word_count} words, you are close to the word limit of {word_limit.value}.")
    else:
        solara.Success("Great short writing!")




Page()

上記のコードを実行するには、コマンドは次のとおりです。

solara run sol.py

Web サービスが開始され、デフォルトのブラウザを使用して http://localhost:8765 が自動的に開きます。

9d3f1343a9cdc4e0a2fd7717e38289c8.jpeg

このコードは、solara ライブラリを使用して単純なページを実装します。

Solara ライブラリをインポートし、レスポンシブ センテンス変数 Sent と単語制限変数 word_limit を作成します。次に、solara.component デコレーターを使用して Page コンポーネントを定義します。コンポーネント内で、文中の単語の数を数えます word_count。Solara.SliderInt を使用してスライダー コンポーネントを作成し、word_limit 変数にバインドします。Solara.InputText を使用してテキスト入力コンポーネントを作成し、それを文変数にバインドします。word_count と word_limit の関係に応じて、異なる印刷情報が表示され、制限を超えた場合はエラー プロンプトが表示され、制限に近い場合は警告プロンプトが表示され、それ以外の場合は成功メッセージが表示されます。最後に、Page コンポーネントがレンダリングのために呼び出されます。このようにして、スライダーをドラッグして制限をリアルタイムで変更し、文を入力して単語数プロンプトの変更を確認することができます。

5

   

参考文献

  • https://github.com/widgetti/solara

6

   

無料コミュニティ

94f1729d4399f8fd508996f6f7d5bfbe.jpeg

c03886e418ee0eafb8489eec5b7a3574.gif

おすすめ

転載: blog.csdn.net/djstavaV/article/details/133054347