اضافه کردن Markdown

سلام

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

ابتدا کتابخانه Python-Markdown را نصب می کنیم.

pip install markdown

حالا می خواهیم به مدل Post یک متد اضافه می کنیم.

boards/models.py (مشاهده کد کامل)

from django.db import models
from django.utils.html import mark_safe
from markdown import markdown

class Post(models.Model):
    # ...

    def get_message_as_markdown(self):
        return mark_safe(markdown(self.message, safe_mode='escape'))

فقط نکتۀ خیلی مهم این است که وقتی از تابع markdown در برنامه استفاده می شود؛ در واقع به کاربر اجازه می دهیم تا یک سری از کارکترهای خاص را به برنامه ارسال کند و بنابراین لازم است در قالب برنامه نیز به شکل امنی از آن استفاده کنیم. برای اینکار کافی است که در قالب های topic_posts.html و reply_topic.html عبارتِ

{{ post.message }}

 

را تغییر دهیم به:

{{ post.get_message_as_markdown }}

از این به بعد، کاربران می توانند از markdown در برنامۀ خود بهره ببرند.

و خروجی هم به شکل زیر شده و نوشته هایی با فرمت های مختلف و بر اساس علائم markdown خواهیم داشت.

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

 

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

مطلب قبلی: ویوی حساب کاربری

0 پاسخ

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

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

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

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