在 Flask 应用程序中使用 Gravatar

Using Gravatar in Flask Application

我想在我的 Flask 应用程序中使用 Gravatar 来显示用户的个人资料图片。 我按照文档中的说明进行操作 https://flask-gravatar.readthedocs.io/en/latest/

但是,当 运行 我的应用程序收到此错误消息时:

application_iter = app(environ, start_response)
File "/home/ubuntu/finalproject/application.py", line 21, in <module>
gravatar = Gravatar(app,
NameError: name 'Gravatar' is not defined 

这是主文件的开头:

import os
import time
import datetime

from flask import Flask, flash, redirect, render_template, request, session
from flask_session import Session
from tempfile import mkdtemp
from werkzeug.exceptions import default_exceptions, HTTPException, InternalServerError
from werkzeug.security import check_password_hash, generate_password_hash


# Configure application
app = Flask(__name__)

#initialize gravatar
gravatar = Gravatar(app,
                    size=80,
                    rating='g',
                    default='retro',
                    force_default=False,
                    force_lower=False,
                    use_ssl=False,
                    base_url=None)

# Ensure templates are auto-reloaded
app.config["TEMPLATES_AUTO_RELOAD"] = True

目前我只想测试它是如何工作的。所以我的 test.html 只包含: {{ 'zzz.sochi@gmail.com' |头像}} 并使用 GET 和 render_template.

调用

谁能告诉我我必须做什么,才能识别 init.py 中定义的变量“Gravatar”?

文件夹结构: Structure in CS50 IDE

Gravatar 文档中提供的示例很糟糕。如果你这样做:

gravatar = Gravatar(app,
                    size=80,
                    rating='g',
                    default='retro',
                    force_default=False,
                    force_lower=False,
                    use_ssl=False,
                    base_url=None)

... 如果文件中某处没有定义 Gravatar,它将失败。在这种情况下,我认为您需要:

from flask_gravatar import Gravatar

gravatar = Gravatar(...)