Python Django-从视图中获取gravatar
我正在使用模板来显示我的用户的化身 现在我想从视图中获取化身的URI。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
我试着用类似的方法 但功能未定义
如何访问它们?您应该导入它们
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>