Федеральная информационная адресная система
Project description
Что это?
Компонент для взаимодействия с сервисом адресной базы ФИАС, расположенной на удаленном сервере. Он позволит вам добавить в окно формы текстовые элементы, варианты заполнения которых можно будет получать по мере ввода текста.
Поле “Нас. пункт” заполняется значениями формального имени адресных объектов (далее - АО), относящихся к уровням 1 (“регион”), 4 (“город”), 6 (“нас. пункт”).
Поле “Улица” заполняется значениями АО уровня 7 (“улица”).
Установка
pip install m3_fias -i http://pypi.bars-open.ru/simple
Подключение в m3_blank
Добавить m3_fias.demo в INSTALLED_APPS.
Заменить workspace в views.py на fias_workspace.html.
Указать в 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
Установите m3-fias.
Добавьте m3-fias в список зависимостей проекта.
Прописать адрес сервера ФИАС в FIAS_API_URL settings.py. Также поддерживаются параметры FIAS_CACHE_PREFIX (префикс для ключей в кэше, значение по умолчанию “m3-fias”) и FIAS_CACHE_TIMEOUT (время кеширования данных, значение по умолчанию - 1 сутки).
Т.к. при работе с сервером ФИАС используется кеширование, необходимо настроить кэш Django. Использование Local-memory caching не рекомендуется в production cреде.
Расширить размер колонок, содержащих коды КЛАДР до 36 символов.
Сконвертируйте коды КЛАДР из этих колонок в GUID коды АО management-командой translate_kladr_codes.
Замените упоминания ExtAddrComponent в файлах форм на ExtFiasAddrComponent.
Подключить файл /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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file m3-fias-0.2.1.tar.gz.
File metadata
- Download URL: m3-fias-0.2.1.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92509c1b1ded67232f3463f9025a535dc861d014ce010c212822f44632465e7d
|
|
| MD5 |
d58b4e8f9a24b464355cca29204138c9
|
|
| BLAKE2b-256 |
14587eedb6444139797c756fbf690a00bdbb7e319f40ac685232960579ee1488
|