Skip to main content

Федеральная информационная адресная система

Project description

Что это?

Компонент для взаимодействия с сервисом адресной базы ФИАС, расположенной на удаленном сервере. Он позволит вам добавить в окно формы текстовые элементы, варианты заполнения которых можно будет получать по мере ввода текста.

Поле “Нас. пункт” заполняется значениями формального имени адресных объектов (далее - АО), относящихся к уровням 1 (“регион”), 4 (“город”), 6 (“нас. пункт”).

Поле “Улица” заполняется значениями АО уровня 7 (“улица”).

Установка

pip install m3_fias -i http://pypi.bars-open.ru/simple

Подключение в m3_blank

  1. Добавить m3_fias.demo в INSTALLED_APPS.

  2. Заменить workspace в views.py на fias_workspace.html.

  3. Указать в settings.py параметр FIAS_API_URL с адресом rest-сервиса ФИАС (django-rest-fias, https://bitbucket.org/barsgroup/django-rest-fias) (на данный момент можно использовать http://93.170.52.197:8000/fias/v1/ao/.

Переход с m3-kladr

  1. Установите m3-fias.

  2. Добавьте m3-fias в список зависимостей проекта.

  3. Прописать адрес сервера ФИАС в FIAS_API_URL settings.py. Также поддерживаются параметры FIAS_CACHE_PREFIX (префикс для ключей в кэше, значение по умолчанию “m3-fias”) и FIAS_CACHE_TIMEOUT (время кеширования данных, значение по умолчанию - 1 сутки).

  4. Т.к. при работе с сервером ФИАС используется кеширование, необходимо настроить кэш Django. Использование Local-memory caching не рекомендуется в production cреде.

  5. Расширить размер колонок, содержащих коды КЛАДР до 36 символов.

  6. Сконвертируйте коды КЛАДР из этих колонок в GUID коды АО management-командой translate_kladr_codes.

  7. Замените упоминания ExtAddrComponent в файлах форм на ExtFiasAddrComponent.

  8. Подключить файл /static/m3-fias/ext-fields/ext-fias-addrfield.js в секцию extra_head вашего workspace (пример в m3_fias/demo/templates/fias_workspace.html)

Ссылки на дома

В адресных компонентах добавлено новое скрытое поле house_guid, содержащее в себе GUID-идентификатор записи о доме в БД ФИАС. Это поле заполняется только в случае выбора одного из значений выпадающего поля с вариантами домов.

Впоследствии это значение не используется при отображении формы, и только передается в параметрах запроса к action-у.

Конвертация кодов КЛАДР

Для массовой конвертации кодов КЛАДР в колонках таблиц можно использовать management-команду translate_kladr_codes:

python ./manage.py translate_kladr_codes <имя приложения> <имя модели> <поле1> [<поле2>...<полеN>]

К примеру, имеется модель Children приложения declaration, который содержит поля address_place и address_street для хранения кодов КЛАДР. Для конвертации их в GUID’ы ФИАС, нужно запустить команду следующим образом:

python ./manage.py translate_kladr_codes children address_place address_street

Запущенная команда затем сделает выборку всех численных значений из указанных колонок таблицы (полей модели), и будет запрашивать соответствующие им значения GUID с удаленного сервера. После нахождения соответствия, все поля записи содержащих эти коды будут обновлены.

N.B. Поиск соответствий производится только среди объектов с проставленным статусом актуальности, поэтому возможна ситуация, когда некоторые коды остаются несконвертированными.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

m3-fias-0.2.0.2.tar.gz (16.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page