انسانی کردن برنامه | Humanize

جنگو

سلام

برای اینکه برنامه همه‌فهم‌تر شود؛ پکیج هایی به صورت پیشفرض در جنگو ساخته شده است.

برای مثال می خواهیم فیلد زمان و تاریخ را طبیعی‌تر کنیم. به جای اینکه تمام دیتای خود را نمایش دهیم؛ می نویسیم «دو دقیقه پیش»

در اولین گام django.contrib.humanize را به INSTALLED_APPS اضافه می کنیم.

myproject/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.humanize',  # <- here

    'widget_tweaks',

    'accounts',
    'boards',
]

و حالا می توانیم از آن در قالب topics.html استفاده کنیم. اول از همه قالب را ویرایش می کنیم.

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

{% extends 'base.html' %}

{% load humanize %}

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

  <td>{{ topic.last_updated|naturaltime }}</td>

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

تمام کاری که باید انجام دهیم بارگذاری تگِ قالب {% load humanize %} و سپس پذیرش فیلتر قالب به شکل {{ topic.last_updated|naturaltime }} است.

خیلی باحاله؟ نه؟!

می توانید این را به سایر قسمت ها هم اضافه کنید.

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

 

مطلب بعدی: تصویر پروفایل یا آواتار

مطلب قبلی: ویرایشگر Markdown

بدون دیدگاه

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

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

جنگو
پیکربندی گواهینامۀ https

سلام حالا می خواهیم برنامۀ خودمان را با گواهینامۀ https امن کنیم. ساده ترین کار برای انجام آن Let’s Encrypt است. قبل از Let’s Encrypt هرگز تنظیمات https به این راحتی نبوده و مهمتر اینکه اینکار کاملاً رایگان است. آن ها راه حلی به نام certbot را ارائه داده اند …

جنگو
پیکربندی سرویس ایمیل

سلام یکی از بهتر سرویس دهنده های ایمیل Mailgun با قابلیت ۱۲ هزار ایمیل رایگان در ماه است. به صورت رایگان ثبت نام کنید. برای اینکار باید آن را با سرویس دهندۀ دامین خود تنظیم کنید که در این آموزش از tamadon.org استفاده شده است. حالا اولین رکورد DNS را …

جنگو
پیکربندی NGINX

سلام کار بعدی که قرار است انجام شود؛ تنظیمان Nginx به شکلی است که پاسخگویی و سرویس دهی مربوط به فایل های استاتیک را خود انجام دهد و سایر درخواست ها را به Gunicorn بفرستد. یک فایل پیکربندی با نام boards را درون /etc/nginx/sites-available/ و با محتوای زیر اضافه می …

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.