ویوی پاسخ به پست

جنگو

سلام

در این قسمت می خواهیم برای ارسال پاسخ به یک پست مشخص، ویوی جدید بسازیم.

یک آدرس جدید اضافه می کنیم.

myproject/urls.py

یک فرم  جدید برای پاسخ به پست می سازیم.

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

ویوی جدید توسط login_required@ محافظت می شود.

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

حالا باید ریدایرکت تابع ویوی new_topic را بروزرسانی  کنیم. (همان قسمتی که با TO DO# به شکل کامنت درآمده بود.)

نکتۀ مهم: در ویوی reply_topic از topic_pk  استفاده می کنیم چون قرار است به آرگومانی از تابع ارجاع دهیم و این در حالی است که در ویوی new_topic از topic.pk استفاده می کنیم چراکه topic یک شی یا object از مدل Topicبوده و استفاده از pk. امکان دسترسی به متعلقات مدل تاپیک را فراهم می کند. جزئیات ریز و تفاوت های بزرگ!!

اولین نسخه از قالب با محتوای زیر خواهد بود:

templates/reply_topic.html

بعد از ارسال پاسخ، کاربر به پست های تاپیک انتقال می یابد.

حالا می توانیم ایجاد کننده و مالک یک پست را تغییر دهیم و در خروجی نام او را مشخص کنیم.

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

حالا برای نوشتن فایل تست یک فایل جدید با نام test_view_reply_topic.py را درون فولدر boards/tests ایجاد می کنیم.

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

مورد اصلی مربوط به تست در این قطعه کد، کلاس ReplyTopicTestCase است. در مرحله بعدی می خواهیم چهار کلاس دیگر آن را توسعه دهیم.

در ابتدا دکوراتور login_required@ را بررسی و سپس کدهای وضعیت و وروردی های html را چک می کنیم. در نهایت نیز یک بار فرم را به صورت معتبر و بار دیگر به صورت نامعتبر ارسال می کنیم.

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

 

مطلب بعدی: QuerySets

مطلب قبلی: ویوی پست های یک تاپیک

بدون دیدگاه

پاسخی بگذارید

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

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

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

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

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

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

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

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