در این سوال قصد داریم برای یک سایت تولید کارت پستال امکان فارسی کردن ارقام را بگذاریم.
شرکتی خدمات کارت پستال ارائه میدهد. این شرکت به تازگی سایتی ساختهاست که با وارد کردن متنی که میخواهید، میتوانید کارت پستال آن را به صورت html
مشاهده کنید.
اما یکی از مشکلاتی که دارد ارقام انگلیسی است. به همین دلیل تصمیم گرفتهاست که تمام ارقام انگلیسی از 0 تا 9 داخل متن را، هنگام نمایش به فارسی تبدیل کند و نمایش دهد.
پروژه اولیه را میتوانید از اینجا دانلود کنید.
ساختار پروژه به شکل زیر است:
اپ اصلی پروژه postal_card
است که داخل آن کدهایی که کارت پستال را تولید میکنند وجود دارد.
همچنین پروژه دارای یه url
اصلی است که کارت پستال را تولید میکند و آدرس آن postal_card/
است که یک پارامتر به نام text
میگیرد و مقدار آن متن داخل کارت پستال را مشخص میکند.
برای مثال آدرسهای postal_card/?text=this-is-card-postal1/
و postal_card/?text=this%20is%card-postal%20with%20spaces/
به ترتیب متنهای this-is-card-postal1
و this is card-postal with spaces
تولید میکنند.
حال وظیفهی شما تبدیل ارقام انگلیسی داخل متن به ارقام فارسی است. به عنوان مثال متن 22 شهریور روز برنامهنویس مبارک
باید به متن ۲۲ شهریور روز برنامهنویس مبارک
تبدیل شود.
اما با توجه به اینکه نمیخواهیم به کدهای view
و url
مان دست بزنیم و منطق پشت کد دستنخوره باقی بماند، شما باید تغییرات را در فایلهای templates/postal_card.html
و templatetags/filters.py
داخل اپ postal_card
قرار دهید.