sanıırm bu gunluk bu kadar ornek django ve pythonla ugrasan arkadaslara yeterlı olucaktır
bu kod sıtenızde belırtılen MB mıkkratından daha buyuk resım yada vıdeo dosyalarını engelemeye yarar
from django.core.files.uploadhandler import FileUploadHandler, StopUpload
import logging
logger = logging.getLogger('uploadhandler')
class KotaExceededError(StopUpload):
pass
class KotaUploadHandler(FileUploadHandler):
def __init__(self, request=None):
super(KotaUploadHandler, self).__init__(request)
self.total_upload = 0
from django.conf import settings
self.Kota_mb = getattr(settings, 'UPLOAD_MAX_MB', 5.0)
self.Kota = self.Kota_mb * 1024 * 1024
self._zateniptaledildim = False
def _beniIptalET(self):
self._zateniptaledildim = True
logger.warn("IZIN VERILEN MAX %.2f MB, ORAN ASILDI ISLEM IPTAL EDILIYOR" % self.Kota_mb)
raise KotaExceededError('Maximum upload size is %.2f MB'
% self.Kota_mb)
def alinan_data_chunk(self, raw_data, start):
if self.request:
if self.request.user.is_staff:
return raw_data
content_length = self.request.META.get('CONTENT_LENGTH', None)
if content_length is not None:
content_length = int(content_length)
if content_length >= self.Kota:
return self._beniIptalET()
self.total_upload += len(raw_data)
if self.total_upload >= self.Kota:
return self._beniIptalET()
return raw_data