Форум сайта python.su
В общем, есть форма на 20 файлов. Эти файлы я хочу послать на почту после отправки. Но, некоторые умельцы прикладывают файлы по 10-20 мегабайт каждый и Джанга при отправке коллапсирует. Съедая тонны оперативки и, в конце, падает.
Что я делаю не так (ведь явно что-то не так)? Каждый элемент формы это просто:
image20 = forms.ImageField()
from django.core.mail import send_mail, EmailMessage
email = EmailMessage
for (k, v) in request.FILES.items():
email.attach(v.name, v.read())
email.send()
Офлайн
Попробуй до 1 мб уменьшить FILE_UPLOAD_MAX_MEMORY_SIZE.
Вообще ты уверен что коллапсирует именно Django / Web server? Если отправлять большой файл , то коллапсировать будет браузер / оперативная память клиентской машины.
Я не знаю каким ты сервером пользуешься , но у апача есть LimitRequestBody. Это конечно крайняя мера так сказать , но смотри сам :)
Офлайн
alecsВ итоге выяснил, что коллапсирует почтовый сервер, который не шлёт письма больше 20 мегабайт. Решил сохранять фалйлы на диск и давать ссылки в письме на них.
Попробуй до 1 мб уменьшить FILE_UPLOAD_MAX_MEMORY_SIZE.
Вообще ты уверен что коллапсирует именно Django / Web server? Если отправлять большой файл , то коллапсировать будет браузер / оперативная память клиентской машины.
Я не знаю каким ты сервером пользуешься , но у апача есть LimitRequestBody. Это конечно крайняя мера так сказать , но смотри сам :)
Офлайн