【问题标题】:Python Flask - Gravatar IssuePython Flask - Gravatar 问题
【发布时间】:2016-12-19 20:32:03
【问题描述】:

使用 Flask - 我已经获得了获取 gravatar 图像 URL 的编码,并且我已经在控制台中打印了它以查看它是否正常工作。我已经将 hashlib md5 位放入一个名为 Avatar 的变量中。

在我的 html 文件中,我有这个来显示头像

<img src="{{ avatar }}">

但是什么都没有显示。

当我使用检查元素时,该部分中的所有内容就是这个

<img src="">

【问题讨论】:

  • 也许你忘了把变量传递给模板......return render_template('template.html', avatar=avatar)
  • 就是这样。谢谢。其中之一,“这很简单,但我找不到问题所在”的时刻

标签: python flask gravatar


【解决方案1】:

由于应用程序中的每个用户都可能需要头像,因此使用 gravatar 图像/身份图标更新用户模型是理想的选择。您可以在models.py 中执行此操作,如下所示:

from hashlib import md5

class User(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    username = db.Column(db.String(64), index = True, unique = True)
    email = db.Column(db.String(120), index =  True, unique = True)
    password_hash = db.Column(db.String(128))

    def gravatar(self, size):
        digest = md5(self.email.lower().encode('utf-8')).hextdigest()
        return 'https://www.gravatar.com/avatar/{}?d=identicon&s={}'.format(digest, size)

在您的&lt;&gt;.html 文件中,您可以按如下方式添加动态组件:

&lt;img scr="{{ user.avatar(&lt;choose a size&gt;) }"&gt;

这应该会在您的 HTML 文件上显示一个身份图标图像,而无需在呈现 HTML 模板时定义 avatar = avatar。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多