Pythonでローカルサーバーを作る

pythonを使った、超シンプルなローカルサーバーの作成方法です。
Macの場合の例です。

事前に適当な場所に適当な名前のフォルダを作成しておいて、ターミナルのcdコマンドで移動しておきます。
次に、作成したフォルダ内に「index.html」ファイルを作成しておきます。
同じフォルダ内に新規ファイルを作成して「app.py」とします。

app.pyに次のコードを記述します。

from http.server import SimpleHTTPRequestHandler, HTTPServer
 
server = HTTPServer(('', 8000), SimpleHTTPRequestHandler)
server.serve_forever()

ターミナルから次のコマンドを入力

python app.py

ブラウザは自動起動しないので、ブラウザは自分で開いて、URLに「localhost:8000」を指定するとindex.htmlが見れます。
サーバーを停止するには、「Ctrl + c」

超簡単なプレースホルダーの導入

app.py ファイルを以下の様に記述すると、少し動的なものになります。

from http.server import BaseHTTPRequestHandler, HTTPServer

with open('sample1.html', mode='r', encoding='utf-8') as f:
    sample = f.read()


class MyServerHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        body = sample.format(title='Sample', content='Sample Content')
        self.wfile.write(body.encode('utf-8'))
        return


server = HTTPServer(('', 8000), MyServerHandler)
server.serve_forever()

index.htmlコード

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">  
    <title>Sample</title>
</head>
<body>
    <h1>{title}</h1>
    <p>{content}</p>
</body>
</html> 

サーバー起動は最初と同じコマンドです。

python app.py

URLに「localhost:8000」を指定するとindex.htmlが見れます。
サーバーを停止するには、「Ctrl + c」