diff --git a/blog/templatetags/blog_tags.py b/blog/templatetags/blog_tags.py index cbbcf65..f6d1f8b 100644 --- a/blog/templatetags/blog_tags.py +++ b/blog/templatetags/blog_tags.py @@ -25,7 +25,8 @@ import hashlib import urllib from comments.models import Comment from DjangoBlog.utils import cache_decorator, logger -from DjangoBlog.utils import cache +from django.contrib.auth import get_user_model +from oauth.models import OAuthUser register = template.Library() @@ -237,6 +238,11 @@ def load_article_detail(article, isindex, user): @register.filter def gravatar_url(email, size=40): """获得gravatar头像""" + usermodels = OAuthUser.objects.filter(email=email) + if usermodels: + o = list(filter(lambda x: x.picture is not None, usermodels)) + if o: + return o[0].picture email = email.encode('utf-8') default = "https://resource.lylinux.net/image/2017/03/26/120117.jpg".encode('utf-8') diff --git a/blog/tests.py b/blog/tests.py index 1e88e98..91b76f5 100644 --- a/blog/tests.py +++ b/blog/tests.py @@ -91,6 +91,9 @@ class ArticleTest(TestCase): SpiderNotify.baidu_notify([article.get_full_url()]) rsp = self.client.get('/refresh/') self.assertEqual(rsp.status_code, 200) + from blog.templatetags.blog_tags import gravatar_url, gravatar + u = gravatar_url('liangliangyy@gmail.com') + u = gravatar('liangliangyy@gmail.com') def test_validate_feed(self): user = BlogUser.objects.get_or_create(email="liangliangyy12@gmail.com", username="liangliangyy")[0]