جنگو

آخرین تنظیمات

سلام شاید از قبل متوجه این موضوع شده باشید که وقتی فردی پاسخی را برای یک پست ارسال می کند فیلد last_update بروز رسانی نمی شود. حالا می خواهیم این مورد را درست کنیم. boards/views.py

کار بعدی که قصد انجام آن را داریم کنترل روی سیستم شمارندۀ بازدیدهاست. ما …

جنگو

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

سلام یکی از ساده ترین راه ها برای اضافه کردن تصویر پروفایل استفاده از Gravatar است. داخل فولدر boards/templatetags فایلی با نام gravatar.py ایجاد می کنیم. boards/templatetags/gravatar.py

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

جنگو

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

سلام برای اینکه برنامه همه‌فهم‌تر شود؛ پکیج هایی به صورت پیشفرض در جنگو ساخته شده است. برای مثال می خواهیم فیلد زمان و تاریخ را طبیعی‌تر کنیم. به جای اینکه تمام دیتای خود را نمایش دهیم؛ می نویسیم «دو دقیقه پیش» در اولین گام django.contrib.humanize را به INSTALLED_APPS اضافه می …

جنگو

ویرایشگر Markdown

سلام می خواهیم از یک ویرایشگر Markdown خیلی باحال به اسم SimpleMD استفاده کنیم. در ابتدا یا کتابخانۀ جاوا اسکریپت آن را دانلود یا از CDNشان استفاده می کنیم.

هم می توان دو خط بالا را به فایل base.html اضافه کرد و هم این دو فایل را دانلود کرده …

جنگو

اضافه کردن Markdown

سلام می خواهیم تجربه کاربری را با اضافه کردن markdown به قسمت متنی (textarea) فرم بهبود دهیم. این کار بسیار ساده و آسان خواهد بود. ابتدا کتابخانه Python-Markdown را نصب می کنیم.

حالا می خواهیم به مدل Post یک متد اضافه می کنیم. boards/models.py (مشاهده کد کامل)

فقط …

جنگو

قالب های صفحه بندی با قابلیت استفاده مجدد

سلام مشابه با آنچه در خصوص قالب form.html انجام شد؛ می توانیم تغییرات مشابهی را برای صفحه بندی و شماره گذاری صفحات انجام دهیم. برای این کار ابتدا صفحات پست های یک تاپیک را صفحه گذاری کرده و سپس دنبال راهی برای قابلیت استفاده مجدد در کامپوننت صفحه بندی پیدا …

جنگو

ویوی حساب کاربری

سلام خیلی خوب! حالا نوبت آن رسیده تا آخرین ویوی برنامه را بروزرسانی کنیم. بعد از این کار صرفاً به بهبود ویوهای موجود می پردازیم. accounts/views.py (مشاهده کد کامل)

myproject/urls.py (مشاهده کد کامل)

templates/my_account.html

ترجمۀ اختصاصی توسط تمدن   مطلب بعدی: اضافه کردن Markdown مطلب قبلی: صفحه …

جنگو

صفحه بندی با استفاده از GCBV

سلام در ادامه پیاده سازی مشابهی را و البته با استفاده از ListView می بینیم. boards/views.py (مشاهده کد کامل)

تعامل با paginator در قالب برنامه متفاوت از روش عادی و مبتنی بر توابع است. در قالب، متغیرهای زیر قابل دسترسی اند: paginator, page_obj, is_paginated, object_list و همچنین متغیری که …

جنگو

صفحه بندی با استفاده از FBV

سلام کد زیر مربوط به پیاده سازی صفحه بندی با استفاده از توابع است. boards/views.py (مشاهده کد کامل)

حالا ترفند اصلی این است که صفحات را با استفاده از کامپوننت صفحه بندی در بوت استرپ ۴ نمایش دهیم. این کار زمان زیادی می برد و می توانید با مراجعه …

جنگو

صفحه بندی و شماره گذاری صفحات

سلام این کار با استفاده از CBV بسیار آسان است. اما قبل از آن می خواهیم صفحه بندی مطالب را به صورت دستی انجام دهیم تا از مکانیسم واقعی آن آگاهی پیدا کنی و سپس از تکنولوژی CBV بهره برداری می کنیم. از الآن به بعد روی ویوی board_topics کار …

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