render_templateとredirectの違いを徹底解説[Flask]

render_templateとは?

render_templateはテンプレートのhtmlファイルをレンダリングする仕組みです。レンダリングとは、htmlファイルを展開して表示することと言えます。

from flask import flask, render_template

@app.route('/')
def home():
    message = 'Hello, world!'
    return render_template('index.html', message=message)

ここでは、messageの内容をhtmlファイルに渡して、messageとともに、htmlを展開表示させることができます。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    {{ message }}
</body>
</html>

redirectとは?

redirectは、特定のurlに遷移させる、転送させる動作をします。
「リダイレクト」という言葉を聞いたことがある方はいると思います。

from flask import flask, render_template

@app.route('/')
def go_to_google():
    return redirect('www.google.com')

ここでは、www.google.comに移動します。