Pythonと「Flask」で複数のページを作成する方法について入門者向けにまとめました。
Flaskで複数のページを作成
複数のページを作成するには、ページの数だけデコレータ(@app.route)と関数を用意します。
具体的にコードを見たほうがわかりやすいので、2つのページを作成するサンプルを以下に掲載します。
なお、デコレータ(@app.route)とルーティングについては以下ページで解説しています。

【Flask】ルーティングの使い方【@app.route()】
Pythonモジュール「Flask」の@app.route()でルーティングを行う方法についてまとめました。
サンプルコード
■server.py
→pythonファイル(app.runするもの)
■templates/base.html
→親テンプレートのHTMLファイル(共通化部分)
■templates/index.html
→子テンプレートのHTMLファイル1(トップページのコンテンツ部分)
■templates/page1.html
→子テンプレートのHTMLファイル2(ページ1のコンテンツ部分)
トップページ(http://127.0.0.1:8080/)とページ1(http://127.0.0.1:8080/page1)の2つのページが作成されました。関数とテンプレート(HTML)を増やせば、さらに複数のページを作成できます。

【Flask超入門】簡単かつ効率的にWebアプリを作ろう
PythonモジュールFlaskの使い方、Webアプリケーションを作る方法について入門者向けにまとめました。
コメント
初心者です。
server.pyのコードの中にrender_templateがひとつしかなく、page1.htmlを表示させるためのコードがないように思われるのですが、render_template以外の方法でpage1.htmlが表示されるのでしょうか?
ご指摘ありがとうございます。掲載しているコードが誤っていましたので修正しました。