Спасибо. Можно еще запилить видео про валидацию файла, прогресс бар + хотелось бы иметь представление, чем этот учебный пример, отличается от подхода в реальной продукционной среде где статические файлы обслуживаются веб-серверами.
Добрый день! Прогресс бар можно реализовать на js повесив обработчик ивента на xhr.upload.onprogress. Валидация: можно проверять расширения, оно есть в свойствах загружаемого файла, и в content type реквеста. Валидировать само содержимое возможно только после загрузки. >>> чем этот учебный пример, отличается от подхода в реальной продукционной среде где статические файлы обслуживаются веб-серверами. не всегда, конечно же, общедоступная статика (лого/иконки/картинка к статье в блоге) лучше всего "отдавать" через nginx, а еще лучше через s3, а вот с генерируемыми файлами (файл csv импорта например) вопрос дискуссионный, может отдавать и gunicorn/uvicorn, почему бы и нет.
А как сделать интернационализацию надписей "Выбрать файлы" и "Файл не выбран"? У меня шаблоны интернационализированы, я думал оно само всё сделает, а оно не делает(
Спасибо за крутой ролик! Не подскажешь, как сделать обработку файла пред тем, как пользователю дать скачать? Тип он кликает по ссылке, мы как-то обрабатываем файл в коде и потом отдаем ему.
Приветствую, тут все очень просто, в джанго, перед тем как передать файл в fileresponse, после момента нахождения, до момента передачи, мы можем его менять, например если это txt файл, дописывая что он скачан таким-то пользователем.
28:07 айчреф)))
Крутой ролик! Очень помог, давно искал это 🎉🎉
Отлично, Спасибо за внимание!
Крутое объяснение, спасибо
все отлично, лайк. продолжайте работу.
Спасибо за внимание!
Спасибо
Спасибо. Можно еще запилить видео про валидацию файла, прогресс бар + хотелось бы иметь представление, чем этот учебный пример, отличается от подхода в реальной продукционной среде где статические файлы обслуживаются веб-серверами.
Добрый день! Прогресс бар можно реализовать на js повесив обработчик ивента на xhr.upload.onprogress. Валидация: можно проверять расширения, оно есть в свойствах загружаемого файла, и в content type реквеста. Валидировать само содержимое возможно только после загрузки.
>>> чем этот учебный пример, отличается от подхода в реальной продукционной среде где статические файлы обслуживаются веб-серверами.
не всегда, конечно же, общедоступная статика (лого/иконки/картинка к статье в блоге) лучше всего "отдавать" через nginx, а еще лучше через s3, а вот с генерируемыми файлами (файл csv импорта например) вопрос дискуссионный, может отдавать и gunicorn/uvicorn, почему бы и нет.
А как сделать интернационализацию надписей "Выбрать файлы" и "Файл не выбран"? У меня шаблоны интернационализированы, я думал оно само всё сделает, а оно не делает(
Спасибо за крутой ролик!
Не подскажешь, как сделать обработку файла пред тем, как пользователю дать скачать? Тип он кликает по ссылке, мы как-то обрабатываем файл в коде и потом отдаем ему.
Приветствую, тут все очень просто, в джанго, перед тем как передать файл в fileresponse, после момента нахождения, до момента передачи, мы можем его менять, например если это txt файл, дописывая что он скачан таким-то пользователем.
а через админ панель так можно? Не создавая форму
Добрый день. А работает ли это асинхронно? То есть не встанет ли весь бекенд, пока один пользователь грузит большой файл?
Для этого и нужен nginx+uwsgi. На проде нельзя пользоваться встроенным сервером джанги
интересно сделать это через aws s3 bucket)
проблема в {{ file.text }}
ValueError: The 'file' attribute has no file associated with it.
такая ошибка если использую пдф файл