ساخت سیستم notification با استفاده از سیگنال ها

27-شهریور-1402 / خواندن 3 دقیقه

سلام دوستان 

داخل این آموزش به ساخت یه سیستم تمام و کمال اعلان یا همون notification با استفاده از سیگنال ها در جنگو می پردازیم و در عین حال با سیگنال ها هم آشنا میشیم.

چرا باید از سیگنال استفاده کنیم ؟

فرض کنید یه مدل داریم که می خواهیم موقع ساخت آبجکت از روی اون یکی از فیلد هاشو تغییر بدیم یا یک آبجکت از یه مدل دیگه هم در همین موقع ایجاد کنیم ، می تونیم این کار را داخل view انجام بدیم اما یه سوال !!! اگر آبجکت را داخل پنل ادمین ساختیم چطور ؟ اگر چند راه مختلف برای ساخت این مدل بود داخل تمام view ها باید کد تکراری بزنیم و مدل دوممون هم دائما import کنیم ؟

بگذارید با یه مثال قضیه را روشن تر کنم :

ما یک فرم داریم ، فرم نظر سنجی که کاربر داخل سایت ما نظر خودش را بیان می کنه ، می خواهیم موقع ایجاد نظر یک اعلان هم برای مدیران سایت ایجاد شود ، کاربر از داخل سایت پیام میده اما اگر از داخل پنل ادمین پیام اضافه بشه این اعلان ایجاد نمیشه چون ما فقط به view های خودمان کد اضافه کردیم نه پنل ، بعد هم باید کلی کد بنویسیم که اگر پیام ایجاد شد یک آبجکت از مدل notification بساز ، بعد پیام کاربر را داخلش قرار بده و....…

با استفاده از سیگنال ها موقع ساخته شدن یک آبجکت از یک مدل ما می تونیم کار های مختلفی روی همون آبجکت انجام بدیم و قبل از ذخیره شدن در پایگاه داده تغییراتی روی اون اعمال کنیم اونوقت اگر آبجکت ما داخل پنل خودمون یا داخل پنل ادمین یا هرجایی از سایت ساخته بشه سیگنال کار خودشو به درستی انجام میده .

شما می تونید روند توسعه پروژه را از آدرس زیر دنبال کنید :

https://github.com/YasinSamooei/Movie_subscription_site

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

مشاهده آموزش در وبسایت تیپ هاب: 

https://tiphub.net/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-notification-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%B3%DB%8C%DA%AF%D9%86%D8%A7%D9%84-%D9%87%D8%A7/


 

جنگو پایتون برنامه نویسی django python