اذهب إلى المحتوى

السؤال

نشر

لدي حقل FileFielad في أحد النماذج Models في تطبيق جانغو Django حيث يمكن للمستخدمين رفع صورة  شخصية

image = forms.FileField()

الآن أريد أن أضمن ألا يقوم أحد المستخدمين برفع ملف كبير للغاية.

كيف يمكنني تعيين حد لحجم الملف الذي يتم رفعه بحيث إذا قام المستخدم بتحميل ملف أكبر من الحد المسموح به، يظهر له خطأ يخبره برفع ملف بحجم معين (2MB على سبيل المثال)؟

Recommended Posts

  • 1
نشر

لتعيين حد لحجم الملفات التي يتم رفعها في جانغو يُمكنك إضافة مُحقق (Validator) يقومُ بفحص حجم الملف قبل حفظه في النموذج.

from django.core.exceptions import ValidationError

def validate_file_size(value):
    filesize= value.size
    
    if filesize > 2097152: #2mb
        raise ValidationError("The maximum file size that can be uploaded is 2MB")
    else:
        return value

الدالة validate_file_size تقومُ بالتحقق من أن حجم الملف لا يتعدى 2mb (أي 2097152) بالبايت و إثارة إستثناء إذا كان كذلك.

لإضافتها كمُحقق نقوم بالتالي:

image = forms.FileField(upload_to='images/', validators=[validate_file_size])

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...