Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

دکوراتور‌ها در Python و Django

Decorator در Python یک function است که یک function دیگر را به عنوان ورودی می‌گیرد و نسخه‌ای جدید از آن را با قابلیت‌های اضافه برمی‌گرداند، بدون اینکه کد اصلی تغییر کند. از decorator معمولاً برای کارهایی مثل logging، validation، caching و access control استفاده می‌شود.

مثال ساده در Python

defmy_decorator(func):
defwarpper():
print("-- start")
func()
print("-- finish")
returnwarpper@my_decoratordeftest():
print("this is a test")
test()

دکوراتور در Django

Django تعداد زیادی decorator آماده دارد که کارهای رایج توسعه وب را ساده می‌کنند:

  • @login_required → محدود کردن دسترسی یک view به کاربران لاگین کرده.
  • @permission_required('app.permission') → بررسی داشتن permission خاص برای کاربر.
  • @csrf_exempt → معاف کردن یک view از بررسی CSRF.
  • @cache_page(timeout)cache کردن خروجی یک view برای مدت مشخص.

مثال:

fromdjango.contrib.auth.decoratorsimportlogin_required@login_requireddefdashboard(request):
returnHttpResponse("wellcode to dashboard")

خلاصه: در Python، decorator روشی انعطاف‌پذیر برای افزودن یا تغییر رفتار function و method است. در Django، از آن برای authentication، authorization، security و performance optimization استفاده می‌شود.

About

توضیح دکراتور ها در جنگو و پایتون

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages