الوسطاء (Middleware)
طبقات تعالج كل طلب/استجابة (أمان، جلسات، مصادقة):
# settings.py
MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
# ...
]
إعدادات مهمّة
DEBUG = False # دائمًا False في الإنتاج
ALLOWED_HOSTS = ["example.com"]
SECRET_KEY = "..." # سرّي
DATABASES = { ... }
TIME_ZONE = "Asia/Riyadh"
LANGUAGE_CODE = "ar"
متغيّرات البيئة (مهمّ للأمان)
لا تضع الأسرار في الكود:
import os
SECRET_KEY = os.environ["SECRET_KEY"]
DEBUG = os.environ.get("DEBUG") == "True"
استخدم مكتبة مثل python-decouple أو django-environ لقراءة .env.
وسيط مخصّص
def simple_middleware(get_response):
def middleware(request):
# قبل الـ view
response = get_response(request)
# بعد الـ view
return response
return middleware
⚠️ احفظ
SECRET_KEYوDEBUG=Falseصحيحين في الإنتاج — أهمّ إعدادات الأمان.
🎯 التالي: الأمان.