2012-05-02 25 views

回答

1

您應該導入它們。

from gravatar.templatetags.gravatar import _get_gravatar_id, gravatar_for_email 
+0

'_get_gravatar_id()'是不可導入的(可能是私有的),但我將使用'gravatar_for_email()',因爲它正在工作。謝謝 –

2

它看起來並不像該項目在公開蟒蛇的URL。它只提供這些標籤。

如果你真的想在Python中的圖像的URL,這是不難創建自己。該Gravatar site對如何創建它的說明,但基本上是:

from django.utils.hashcompat import md5_constructor 

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

由於我已經使用這個庫,我想利用已經完成的工作,儘量不要重複自己 –

0

我也想產生視覺愉悅的,抽象的,用戶特定的用戶配置文件的圖像。以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" 

模板(S):

<img src={{ avatar_url; }}</img> 

這偉大的工作。

如:http://www.gravatar.com/avatar/7c40983cf4dd3b13108bc427025326c0?s=35&d=identicon&r=PG

我進了一步,並保存/存儲avatar_url在我的數據庫的用戶屬性,而不是生成它在飛行每次。我希望這有助於下一個在這個問題/答案中絆倒的人。