انسانی کردن برنامه | 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

0 پاسخ

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

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

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

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