تصویر پروفایل یا آواتار

سلام

یکی از ساده ترین راه ها برای اضافه کردن تصویر پروفایل استفاده از Gravatar است.

داخل فولدر boards/templatetags فایلی با نام gravatar.py ایجاد می کنیم.

boards/templatetags/gravatar.py

import hashlib
from urllib.parse import urlencode

from django import template
from django.conf import settings

register = template.Library()


@register.filter
def gravatar(user):
    email = user.email.lower().encode('utf-8')
    default = 'mm'
    size = 256
    url = 'https://www.gravatar.com/avatar/{md5}?{params}'.format(
        md5=hashlib.md5(email).hexdigest(),
        params=urlencode({'d': default, 's': str(size)})
    )
    return url

در واقع من از کدی استفاده کرده ام که آن ها آماده کرده اند و صرفاً آن را با پایتون ۳ سازگار کرده ام.

بسیار عالی، حالا می توانیم آن را درون قالب خودمان بارگذاری کنیم که این کار مشابه همان کاری است که در فیلتر قالب برای انسانی کردن برنامه انجام دادیم.

templates/topic_posts.html (مشاهده کد کامل)

{% extends 'base.html' %}

{% load gravatar %}

{% block content %}
  <!-- code suppressed -->

  <img src="{{ post.created_by|gravatar }}" alt="{{ post.created_by.username }}" class="w-100 rounded">

  <!-- code suppressed -->
{% endblock %}

چقدر ساده و باحال! اینطور نیست؟!

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی: آخرین تنظیمات

مطلب قبلی: انسانی کردن برنامه | Humanize

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *