Python Django-从视图中获取gravatar

Python Django-从视图中获取gravatar,python,django,gravatar,Python,Django,Gravatar,我正在使用模板来显示我的用户的化身 现在我想从视图中获取化身的URI。 我试着用类似的方法 但功能未定义 如何访问它们?您应该导入它们 from gravatar.templatetags.gravatar import _get_gravatar_id, gravatar_for_email 看起来该项目并没有在python中公开URL。它只提供这些标签 如果您真的想要python中的图像URL,那么自己创建并不困难。有关于如何创建它的说明,但基本上: from django.utils.h

我正在使用模板来显示我的用户的化身

现在我想从视图中获取化身的URI。
我试着用类似的方法

但功能未定义

如何访问它们?

您应该导入它们

from gravatar.templatetags.gravatar import _get_gravatar_id, gravatar_for_email

看起来该项目并没有在python中公开URL。它只提供这些标签

如果您真的想要python中的图像URL,那么自己创建并不困难。有关于如何创建它的说明,但基本上:

from django.utils.hashcompat import md5_constructor

email_hash = md5_constructor(email.strip().lower()).hexdigest()
url = "http://www.gravatar.com/avatar/%s" % email_hash

我还想生成直观、抽象、用户特定的用户配置文件图像。以Sionade21的答案为指导,我实现了以下内容。我不得不调整Sionade21的答案,因为hashcompat在1.5中被弃用

Views.py:

from hashlib import md5

def my_view(request):
    email_hash = md5(my_user.email.strip().lower()).hexdigest()
    avatar_url = "http://www.gravatar.com/avatar/%s" % email_hash + 
                 "?s=35&d=identicon&r=PG"
模板:


这很有效

例如:


我更进一步,将头像url作为用户属性保存/存储在我的数据库中,而不是每次动态生成它。我希望这能帮助下一个偶然发现这个问题/答案的人。

因为我已经使用了这个库,我想利用已经完成的工作,尽量不要重复我自己的工作。
\u get\u gravatar\u id()
不重要(可能是私人的),但我会使用
gravatar\u for\u email()
,因为它正在工作。谢谢
from hashlib import md5

def my_view(request):
    email_hash = md5(my_user.email.strip().lower()).hexdigest()
    avatar_url = "http://www.gravatar.com/avatar/%s" % email_hash + 
                 "?s=35&d=identicon&r=PG"
<img src={{ avatar_url; }}</img>