template の使い方です。
フォルダー構造
$ tree
.
├── template.py
└── views
└── sample.html
template.py
#! /usr/bin/python
#
# template.py
#
# Nov/12/2020
#
# ------------------------------------------------------------------
from bottle import run, route, template
# ------------------------------------------------------------------
@route("/")
def index():
username = '夏目漱石'
return template('sample', username=username)
# ------------------------------------------------------------------
@route('/hello/<name>')
def hello(name="Stranger"):
return template("Hello, {{ name }}. How are you?", name=name)
# ------------------------------------------------------------------
if __name__ == "__main__":
run(host='localhost', port=8080, reloader=True, debug=True)
# ------------------------------------------------------------------
views/sample.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>テンプレートエンジン</title>
</head>
<body>
<h2>こんにちは: {{ username }}</h2>
Nov/12/2020<br />
</body>
</html>
サーバーの実行
$ ./template.py
Bottle v0.12.18 server starting up (using WSGIRefServer())...
Listening on http://localhost:8080/
Hit Ctrl-C to quit.
クライアントでアクセス
http://localhost:8080/
http://localhost:8080/hello/太郎
次のバージョンで確認しました。
$ python --version
Python 3.9.5
$ python -m bottle --version
Bottle 0.12.19