如何使用 flask 和 jinja2 从 sql 数据库中获取网页标题?

How do I get a webpage title from an sql database with flask and jinja2?

提问人:Daniel 提问时间:11/11/2023 更新时间:11/12/2023 访问量:32

问:

我有一个表格,用于存储网页的标题。我在 python 中创建了一个函数,该函数将标题作为字符串返回。在 jinja 中,我究竟如何访问该功能?我不想在每个端点都传递标题。

def create_title():
    with connection.cursor() as cursor:
        sql = "SELECT description FROM settings"
        cursor.execute(sql)
        return cursor.fetchone()[0]
<title>{{ create_title() }}</title>

我想做这样的事情。感谢您的帮助!

Python 烧瓶 jinja2

评论


答:

0赞 OneCricketeer 11/11/2023 #1

来自 flask 路由的函数调用必须告诉模板它有权访问哪些函数或变量。它不会继承 Python 代码中的每个函数名称render_template

您还应该考虑添加异常处理,以防连接/查询失败。否则,您将作为标题返回,或导致内部服务器错误None

0赞 Nikhil S 11/11/2023 #2

这是你如何做到的:

@app.route('<Your route>')
def index():
    return render_template('<your_html_filename>.html', create_title=create_title)