🥇
[pycgi] PHPのように、PythonをHTMLに埋め込む
自分用に開発していましたが、あまりにも便利だったので、公開しようと思います。
リリースページからビルド済みバイナリをダウンロードしてください。
pythonのインストールは不要です。
実行すると、そのディレクトリに
./docs
./.sys // 隠しフォルダ
が自動で作成されます。
./docsフォルダがhtdocsのことです。
詳しくはReadmeをお読みください。
基本的な使い方
<!DOCTYPE html>
<html>
<head>
<title>My pycgi Page</title>
</head>
<body>
<h1>Welcome to pycgi!</h1>
<!-- 静的なHTMLコンテンツ -->
<p>これは静的なメッセージです。</p>
<!-- 埋め込みPythonコード -->
<?py
# レスポンスヘッダーを設定する
_RSP_HEADERS["Content-Type"] = "text/html; charset=utf-8"
_RSP_HEADERS["Custom-Header"] = "MyHeaderValue"
# 実行パスを表示する
echo(f"<p>実行パス: {_EXECUTE_PATH}</p>")
# ドキュメントルートを表示する
echo(f"<p>ドキュメントルート: {_DOCSROOT}</p>")
# echoを使ってコンテンツをレンダリングする
echo("<p>これはechoを使ってレンダリングされました。</p>")
# リクエストヘッダーを表示する
for header, value in _REQ_HEADERS.items():
echo(f"<p>{header}: {value}</p>")
# GETクエリパラメータを表示する
if "name" in _GET:
echo(f"<p>こんにちは、{_GET['name']}さん!</p>")
# POSTデータを表示する
if _POST_DATA:
echo("<p>POSTデータ:</p><pre>")
echo(_POST_DATA)
echo("</pre>")
# JSONのPOSTデータを表示する
if _POST_JSON:
echo("<p>JSON POSTデータ:</p><pre>")
echo(_POST_JSON)
echo("</pre>")
# ストレージAPIの例
# ストレージに値を設定する
Storage.setValue("nickname", "pycgi")
# デフォルト値でストレージから値を取得する
nickname = Storage.getValue("nickname", "none")
echo(f"<p>保存されたニックネーム: {nickname}</p>")
?>
</body>
</html>
<?py ?>
シンタックスを使用して、コードブロックを定義します。
文字のレンダリングには、echo()を使用してください。
printはコンソールに表示されます。
注意点。複数のコードブロックがある場合、_RSP_HEADERSは最後のブロックに書いてください。
Webサーバに必要な機能はほぼ備わっていると思います。
意見があればコメントください。
Discussion