https://github.com/notesparvvaresh/decorator_python
توضیح دکراتور ها در جنگو و پایتون
https://github.com/notesparvvaresh/decorator_python
decorators
Last synced: 11 months ago
JSON representation
توضیح دکراتور ها در جنگو و پایتون
- Host: GitHub
- URL: https://github.com/notesparvvaresh/decorator_python
- Owner: notesparvvaresh
- Created: 2025-08-09T15:12:30.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-09T15:19:44.000Z (11 months ago)
- Last Synced: 2025-08-09T17:28:14.194Z (11 months ago)
- Topics: decorators
- Language: Python
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## دکوراتورها در Python و Django
**Decorator** در Python یک **function** است که یک **function** دیگر را به عنوان ورودی میگیرد و نسخهای جدید از آن را با قابلیتهای اضافه برمیگرداند، بدون اینکه کد اصلی تغییر کند.
از **decorator** معمولاً برای کارهایی مثل **logging**، **validation**، **caching** و **access control** استفاده میشود.
### مثال ساده در Python
```python
def my_decorator(func):
def warpper():
print("-- start")
func()
print("-- finish")
return warpper
@my_decorator
def test():
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** برای مدت مشخص.
مثال:
```python
from django.contrib.auth.decorators import login_required
@login_required
def dashboard(request):
return HttpResponse("wellcode to dashboard")
```
---
**خلاصه:**
در Python، **decorator** روشی انعطافپذیر برای افزودن یا تغییر رفتار **function** و **method** است.
در Django، از آن برای **authentication**، **authorization**، **security** و **performance optimization** استفاده میشود.
-