これは私がやったことです:
ここで参照されているように、Python を使用してローカル Web サーバーを作成できます。このチュートリアルでは、サーバー ハンドラーの基本的なインフラストラクチャを提供します。おそらく Python 3 が原因か、Chrome を使用してローカル ページにアクセスしたことが原因で、いくつかの問題に対処する必要がありました。
私の GET ハンドラー関数は次のようになりました。
def do_GET(self):
try:
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.send_header('Access-Control-Allow-Origin', '*')
self.end_headers()
try:
fn = GETHANDLERS[self.path[1:]]
self.wfile.write(fn().encode("utf-8"))
except KeyError:
self.wfile.write(self.path.encode("utf-8"))
return
except:
self.send_error(404, 'File Not Found: {0}'.format(self.path))
は、URL を関数にマッピングする辞書です。GETHANDLERS
たとえば、 にアクセスするhttp://localhost/my_func
と、GETHANDLERS['my_func']
関数が呼び出されます。URL に関数が存在しない場合、URL は単にエコー バックされます。
sqlite3
モジュールを使用して、ローカルの SQLite データベースを操作する関数を実装しました。Categories
テーブル内のすべてを一覧表示するクエリの例を次に示します。
import sqlite3
def get_categories():
con = sqlite3.connect('my.db')
c = con.cursor()
c.execute('''SELECT * FROM Categories;''')
return [cat[0] for cat in c.fetchall()]
GETHANDLERS["categories"] = get_categories
ローカル アプリを使用するには、ユーザーが Python をインストールし、Web ページを開く前にサーバー スクリプトを実行する必要があります。これはかなり許容範囲だと思います!