Skip to main content

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

Project description

Что это?

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

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

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

Установка

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://fias.bars-open.ru/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.6.tar.gz (18.0 kB view details)

Uploaded Source

File details

Details for the file m3-fias-0.2.6.tar.gz.

File metadata

  • Download URL: m3-fias-0.2.6.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for m3-fias-0.2.6.tar.gz
Algorithm Hash digest
SHA256 79efa9b61409522757d9c67803ce9fe3f6c2999d37b4071ffb930d8245c845a4
MD5 95eecbb354d9e9a30a430036168da8c6
BLAKE2b-256 10b37bb8979d2f6ce0a1df9e68548f34942b446a6fd6cd40d76c2ae0c2b9add6

See more details on using hashes here.

Supported by

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