Определение оператора и региона по номеру телефона
веб форма находится по адреу http://127.0.0.1:8000/
ендпоинт API по адреу http://127.0.0.1:8000/v1/api/phone_info
project | project | | project - папка с настройкими проекта | | registry - модели и вьюшки | | downloads - папка для загрузки csv базы | examples - Примеры работы
создать виртуальное окружение и активироать его
python -m venv .venv
activate .venv
или .venv\Scripts\activate.bat для виндовсpip install -r requirements.txtнужно переименовать файл project/project/settings_example.py в settings.py
и указать свои данные для базы
для базы
DATABASES
и если это удалённый сервер, нужно указать хост для корректной работы в ALLOWED_HOSTS
для папки project/downloads установить права на чтение и запись - это папка испоьзуется при загрузке базы данных операторов
ну либо указать другую папку настройках, раздел REGISTRY['download_dir']
Далее можно убедится что все успешно установилось
manage.py checkи синхронизировать базу данных
manage.py makemigrations
manage.py migrateсоздать администратора если планируете пользоваться админкой
manage.py createsuperuserскачать данные можно запустив команду
manage.py registry_updateесть защита от одновременных запусков и загрузок в течении дня при обновлении удалятся все уже существующие данне диапазонов
запуск тестового сервера
manage.py runserverзапуск продакшен сервера согласно документации https://docs.djangoproject.com/en/5.0/howto/deployment/ например так
uvicorn project/asgi:application --host 127.0.0.1 --reload- добавить тестов для эндпоинтов
- переделать загрузки данных, используя вспомогательную таблиу для загрузки, и потом перегружать данные в рамках транзакции
- проести оптимизацию запросов добавив индексов