Ecommerce Vente نشر 10 سبتمبر 2022 أرسل تقرير مشاركة نشر 10 سبتمبر 2022 اريد تسقيف عدد requests لأحد endpoints بواسطة django rest framework 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Ahmed Sadek Elamine Touahria نشر 10 سبتمبر 2022 أرسل تقرير مشاركة نشر 10 سبتمبر 2022 يوفر اطار العمل drf هذه الخاصية ولتجاوز الإعدادات الافتراضية ، يوفر مجموعة من الزخارف الإضافية التي يمكن إضافتها إلى endpoints الخاصة بك. يجب أن تأتي هذه بعد (أدنى) api_view. على سبيل المثال ، لإنشاء view يستخدم الخانق throttle للتأكد من أنه لا يمكن استدعاءه إلا مرة واحدة يوميًا من قبل مستخدم معين ، استخدمthrottle_classes decorator ، وقم بتمرير قائمة بفئات الخانق: # نستورد المكتبات المهمة from rest_framework.decorators import api_view, throttle_classes from rest_framework.throttling import UserRateThrottle class OncePerDayUserThrottle(UserRateThrottle): rate = '1/day' # هنا عدد الاستعلامات في اليوم @api_view(['GET']) @throttle_classes([OncePerDayUserThrottle]) # ثم نمررها من هنا كمزخرف def view(request): return Response({"message": "انتهت صلاحيت اليوم نراك غدا"}) 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Ayoub Souad نشر 10 سبتمبر 2022 أرسل تقرير مشاركة نشر 10 سبتمبر 2022 (معدل) يمكنك استعمال مكتبة جاهزة django-ratelimit و التي ستحد عدد الطلبات التي تتلقاها خلال فترة زمنية معينة. و ذلك كالآتي: from ratelimit.decorators import ratelimit @ratelimit(key='ip', rate='10/m') #تحديد عدد الطلبات 10في الدقيقة مثلا def myview(request): return HttpResponse() حيث أن المقدارKey يمكن أن يأخد شكل: 'ip' أي أنك تحد نفس عنوان IP للطلب 'get:X' تستخدم قيمة request.GET ['X'] 'post:X' تستخدم قيمة request.POST ['X'] 'user' تستخدم قيمة مناسبة من request.user. لا تستخدم مع المستخدمين غير المصادق عليهم. 'user_or_ip' تستخدم قيمة مناسبة من request.user إذا تمت المصادقة على المستخدم. المقدارrate يمكن أن يأخد شكل: s - ثواني m - دقائق h - ساعات d - أيام لتثبيت المكتبة pip install django-ratelimit تم التعديل في 10 سبتمبر 2022 بواسطة Ayoub Souad اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Ecommerce Vente
اريد تسقيف عدد requests لأحد endpoints بواسطة django rest framework
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.