在 Flask 应用程序中使用 Gravatar

Using Gravatar in Flask Application

提问人:Mi-Wa 提问时间:12/3/2021 更新时间:12/3/2021 访问量:494

问:

我想使用 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 只包含: {{ '[email protected]' | 格拉瓦塔 }} 并使用 GET 和 render_template 调用。

有人可以告诉我我必须做什么,init.py 中定义的变量“Gravatar”被识别吗?

文件夹结构:CS50 IDE 中的结构

Python 烧瓶 Gravatar

评论


答:

0赞 Nathaniel Ford 12/3/2021 #1

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(...)