Код с использованием фреймворка Джанго.
см. storage/views.py
При создании объекта FileUplode, а которого имеется поле name = models.CharField, строковая переменная, присваиваемая name, обрезается с конца на один символ, причём при условии, что это символ - "t". Если строка заканчивается на другой символ, x или d, то он не обрезается.
Весь алфавит не проверял.
всё работает, как ожидается, строка не режется.
Код является свободным, ты можешь установить его и пользоваться. Для этого тебе понадобится:
-
Установить Python 3.10+. см. как установить (англ.), а здесь для Debian-based (рус.).
-
Установить переменные окружения (см. ниже).
Далее, скачай репозиторий к себе, установи и активируй виртуальное окружение:
python3 -m venv env
source env/bin/activate
установи необходимые библиотеки, указанные в файле requirements.txt:
pip install -r requirements.txt
перейди в папку проекта, запусти миграции, затем проект:
./manage.py migrate
./manage.py runserver
Открой браузер и укажи в адресной строке:
http://127.0.0.1:8000/upload/
Для улучшения уровня безопасности, когда будешь размещать сайт в общем доступе, сделай файл .env и размести его в папке настроек проекта project. В этом файле укажи:
- секретный ключ Django;
- данные для подключения к БД
- DEBUG и ALLOWED_HOSTS
- настройки почтового сервера
Вот так должен выглядеть твой .env файл:
SECRET_KEY='длинная строка символов'
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,[::1]
DB_URL=postgres://user_name:password@host:port/db_name
или
DB_URL=sqlite:////<path to db>/db.sqlite3