Name | m3-rest-gar JSON |
Version |
1.0.44
JSON |
| download |
home_page | None |
Summary | REST-service for GAR. |
upload_time | 2024-03-30 05:19:48 |
maintainer | None |
docs_url | None |
author | BARS Group |
requires_python | None |
license | MIT |
keywords |
django
rest
gar
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
REST-сервис на django-rest-framework для доступа к базе ГАР
------------------------------------------------------------
Этот сервис - результат объединения разработок:
* django-rest-framework <http://www.django-rest-framework.org/>
* m3-gar
Формат сервиса
--------------
Список адресных объектов
========================
::
GET /gar/v1/addrobj/
:Параметры:
:level:
Тип: число или список чисел через запятую.
Фильтрация по уровню адресного объекта.
:parent:
Тип: `hierarchy:objectid`
`hierarchy` - Вид иерархии - `all`, `mun` или `adm`
`objectid` - `objectid` родительского объекта
Фильтрация по родительскому адресному объекту.
:region_code:
Тип: число или список чисел через запятую.
Фильтрация по коду региона.
:name:
Тип: строка символов.
Поиск адресного объекта по содержанию строки в наименовании.
:page:
Тип: число.
Страница вывода результатов.
----
:Результат:
Тип: application/json.
Результаты выводятся по страницам согласно настройкам DRF.
----
:Примеры:
::
GET /gar/v1/addrobj/?name=Шамбалыгский&level=8&parent=adm:210893
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 250006,
"params": [
{
"id": 3197562,
"typeid": {
"id": 5,
"name": "Почтовый индекс",
"code": "PostIndex",
"desc": "Информация о почтовом индексе",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 207679,
"changeid": 533863,
"changeidend": 0,
"value": "667901",
"updatedate": "2017-11-16",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
}
],
"objectguid": "7effc9de-7888-440b-b2a0-cc5432bc09a5",
"changeid": 533888,
"name": "Шамбалыгский",
"typename": "пер",
"level": "8",
"previd": 249989,
"nextid": 0,
"updatedate": "2019-12-13",
"startdate": "1900-01-01",
"enddate": "2079-06-06",
"isactual": true,
"isactive": true,
"opertypeid": 1,
"objectid": 207679
}
]
}
Адресный объект
===============
::
GET /gar/v1/addrobj/:objectid:/
:Параметры:
:objectid:
Тип: число.
Идентификатор адресного объекта
----
:Результат:
Тип: application/json.
----
:Примеры:
::
GET /gar/v1/addrobj/207679/
{
"id": 250006,
"params": [
{
"id": 3197562,
"typeid": {
"id": 5,
"name": "Почтовый индекс",
"code": "PostIndex",
"desc": "Информация о почтовом индексе",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 207679,
"changeid": 533863,
"changeidend": 0,
"value": "667901",
"updatedate": "2017-11-16",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
}
],
"objectguid": "7effc9de-7888-440b-b2a0-cc5432bc09a5",
"changeid": 533888,
"name": "Шамбалыгский",
"typename": "пер",
"level": "8",
"previd": 249989,
"nextid": 0,
"updatedate": "2019-12-13",
"startdate": "1900-01-01",
"enddate": "2079-06-06",
"isactual": true,
"isactive": true,
"opertypeid": 1,
"objectid": 207679
}
Список домов
============
::
GET /gar/v1/houses/
:Параметры:
:parent:
Тип: `hierarchy:objectid`
`hierarchy` - Вид иерархии - `all`, `mun` или `adm`
`objectid` - `objectid` родительского объекта
Фильтрация по родительскому адресному объекту.
:housenum:
Тип: строка символов.
Поиск дома по содержанию строки в номере.
:page:
Тип: число. Страница вывода результатов.
----
:Результат:
Тип: application/json.
Результаты выводятся по страницам согласно настройкам DRF.
----
:Примеры:
::
GET /gar/v1/houses/?parent=adm:210826&name=5
{
"count": 65,
"next": "http://127.0.0.1:8000/gar/v1/houses/?name=5&page=2&parent=adm%3A210826",
"previous": null,
"results": [
{
"id": 52384730,
"params": [
{
"id": 197175620,
"typeid": {
"id": 3,
"name": "ИНН ФЛ ТЕР УЧ",
"code": "territorialifnsflcode",
"desc": "Территориальный участок ИФНС ЮЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 158819227,
"value": "1717",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
},
{
"id": 197175630,
"typeid": {
"id": 6,
"name": "ОКАТО",
"code": "OKATO",
"desc": "ОКАТО",
"updatedate": "2018-06-19",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 0,
"value": "93243825001",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197175631,
"typeid": {
"id": 5,
"name": "Почтовый индекс",
"code": "PostIndex",
"desc": "Информация о почтовом индексе",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 0,
"value": "667903",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197175643,
"typeid": {
"id": 14,
"name": "Признак присвоения адреса",
"code": "DivisionType",
"desc": "Признак в каком делении присвоен адрес, муниципальном/административном",
"updatedate": "2018-12-14",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 0,
"value": "0",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197175692,
"typeid": {
"id": 15,
"name": "Порядковый номер",
"code": "Counter",
"desc": "Порядковый номер обьекта в рамках родителя",
"updatedate": "2018-12-14",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 0,
"value": "18",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197175626,
"typeid": {
"id": 7,
"name": "OKTMO",
"code": "OKTMO",
"desc": "OKTMO",
"updatedate": "2018-06-19",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 51296790,
"value": "93643425",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2019-12-13"
},
{
"id": 197175728,
"typeid": {
"id": 7,
"name": "OKTMO",
"code": "OKTMO",
"desc": "OKTMO",
"updatedate": "2018-06-19",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296790,
"changeidend": 0,
"value": "93643425101",
"updatedate": "2019-12-14",
"startdate": "2019-12-13",
"enddate": "2079-06-06"
},
{
"id": 197175636,
"typeid": {
"id": 13,
"name": "Реестровый номер",
"code": "ReestrNum",
"desc": "Реестровый номер адресного объекта",
"updatedate": "2018-11-12",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 51296790,
"value": "936434251010000000220018000000005",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2019-12-13"
},
{
"id": 197176157,
"typeid": {
"id": 13,
"name": "Реестровый номер",
"code": "ReestrNum",
"desc": "Реестровый номер адресного объекта",
"updatedate": "2018-11-12",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296790,
"changeidend": 0,
"value": "936434251010000000220018000000000",
"updatedate": "2019-12-14",
"startdate": "2019-12-13",
"enddate": "2079-06-06"
},
{
"id": 197173900,
"typeid": {
"id": 1,
"name": "ИФНС ФЛ",
"code": "IFNSFL",
"desc": "ИФНС ФЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 158819227,
"value": "1720",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
},
{
"id": 679599960,
"typeid": {
"id": 1,
"name": "ИФНС ФЛ",
"code": "IFNSFL",
"desc": "ИФНС ФЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 158819227,
"changeidend": 0,
"value": "1700",
"updatedate": "2020-11-21",
"startdate": "2020-11-21",
"enddate": "2079-06-06"
},
{
"id": 679666370,
"typeid": {
"id": 2,
"name": "ИФНС ЮЛ",
"code": "IFNSUL",
"desc": "ИФНС ЮЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 158819227,
"changeidend": 0,
"value": "1700",
"updatedate": "2020-11-21",
"startdate": "2020-11-21",
"enddate": "2079-06-06"
},
{
"id": 197175624,
"typeid": {
"id": 4,
"name": "ИФНС ЮЛ ТЕР УЧ",
"code": "territorialifnsulcode",
"desc": "Территориальный участок ИФНС ФЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 158819227,
"value": "1717",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
},
{
"id": 197175616,
"typeid": {
"id": 2,
"name": "ИФНС ЮЛ",
"code": "IFNSUL",
"desc": "ИФНС ЮЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33665495,
"changeid": 51296115,
"changeidend": 158819227,
"value": "1720",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
}
],
"housetype": {
"id": 3,
"name": "Домовладение",
"shortname": "двлд.",
"desc": "Домовладение",
"updatedate": "1900-01-01",
"startdate": "1900-01-01",
"enddate": "2015-11-05",
"isactive": false
},
"addtype1": null,
"addtype2": null,
"objectguid": "0e27bfa6-d3e2-4160-967a-5f14d43fbc98",
"changeid": 51296790,
"housenum": "18",
"addnum1": null,
"addnum2": null,
"previd": 20010713,
"nextid": 0,
"updatedate": "2019-12-14",
"startdate": "2019-12-13",
"enddate": "2079-06-06",
"isactual": true,
"isactive": true,
"opertypeid": 20,
"objectid": 33665495
}
]
}
Информация о доме
=================
::
GET /gar/v1/houses/:objectid:/
:Параметры:
:objectid:
Тип: число.
Идентификатор дома
----
:Результат:
Тип: application/json.
----
:Примеры:
::
GET /gar/v1/houses/33663074/
{
"id": 60865585,
"params": [
{
"id": 197161766,
"typeid": {
"id": 1,
"name": "ИФНС ФЛ",
"code": "IFNSFL",
"desc": "ИФНС ФЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 158819225,
"value": "1720",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
},
{
"id": 197163461,
"typeid": {
"id": 13,
"name": "Реестровый номер",
"code": "ReestrNum",
"desc": "Реестровый номер адресного объекта",
"updatedate": "2018-11-12",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51293350,
"changeidend": 0,
"value": "936434251010000000220012000000000",
"updatedate": "2019-12-14",
"startdate": "2019-12-13",
"enddate": "2079-06-06"
},
{
"id": 197163411,
"typeid": {
"id": 6,
"name": "ОКАТО",
"code": "OKATO",
"desc": "ОКАТО",
"updatedate": "2018-06-19",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 0,
"value": "93243825001",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197163416,
"typeid": {
"id": 5,
"name": "Почтовый индекс",
"code": "PostIndex",
"desc": "Информация о почтовом индексе",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 0,
"value": "667903",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197163430,
"typeid": {
"id": 14,
"name": "Признак присвоения адреса",
"code": "DivisionType",
"desc": "Признак в каком делении присвоен адрес, муниципальном/административном",
"updatedate": "2018-12-14",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 0,
"value": "0",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197163432,
"typeid": {
"id": 15,
"name": "Порядковый номер",
"code": "Counter",
"desc": "Порядковый номер обьекта в рамках родителя",
"updatedate": "2018-12-14",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 0,
"value": "12",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2079-06-06"
},
{
"id": 197163408,
"typeid": {
"id": 7,
"name": "OKTMO",
"code": "OKTMO",
"desc": "OKTMO",
"updatedate": "2018-06-19",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 51293350,
"value": "93643425",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2019-12-13"
},
{
"id": 197163454,
"typeid": {
"id": 7,
"name": "OKTMO",
"code": "OKTMO",
"desc": "OKTMO",
"updatedate": "2018-06-19",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51293350,
"changeidend": 0,
"value": "93643425101",
"updatedate": "2019-12-14",
"startdate": "2019-12-13",
"enddate": "2079-06-06"
},
{
"id": 197163423,
"typeid": {
"id": 13,
"name": "Реестровый номер",
"code": "ReestrNum",
"desc": "Реестровый номер адресного объекта",
"updatedate": "2018-11-12",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 51293350,
"value": "936434251010000000220012000000005",
"updatedate": "2019-12-14",
"startdate": "1900-01-01",
"enddate": "2019-12-13"
},
{
"id": 197163397,
"typeid": {
"id": 3,
"name": "ИНН ФЛ ТЕР УЧ",
"code": "territorialifnsflcode",
"desc": "Территориальный участок ИФНС ЮЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 158819225,
"value": "1717",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
},
{
"id": 679599958,
"typeid": {
"id": 1,
"name": "ИФНС ФЛ",
"code": "IFNSFL",
"desc": "ИФНС ФЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 158819225,
"changeidend": 0,
"value": "1700",
"updatedate": "2020-11-21",
"startdate": "2020-11-21",
"enddate": "2079-06-06"
},
{
"id": 197163402,
"typeid": {
"id": 4,
"name": "ИФНС ЮЛ ТЕР УЧ",
"code": "territorialifnsulcode",
"desc": "Территориальный участок ИФНС ФЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 158819225,
"value": "1717",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
},
{
"id": 197161768,
"typeid": {
"id": 2,
"name": "ИФНС ЮЛ",
"code": "IFNSUL",
"desc": "ИФНС ЮЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 51292720,
"changeidend": 158819225,
"value": "1720",
"updatedate": "2020-11-21",
"startdate": "1900-01-01",
"enddate": "2020-11-21"
},
{
"id": 679666368,
"typeid": {
"id": 2,
"name": "ИФНС ЮЛ",
"code": "IFNSUL",
"desc": "ИФНС ЮЛ",
"updatedate": "2018-06-15",
"startdate": "2011-11-01",
"enddate": "2079-06-06",
"isactive": true
},
"objectid": 33663074,
"changeid": 158819225,
"changeidend": 0,
"value": "1700",
"updatedate": "2020-11-21",
"startdate": "2020-11-21",
"enddate": "2079-06-06"
}
],
"housetype": {
"id": 3,
"name": "Домовладение",
"shortname": "двлд.",
"desc": "Домовладение",
"updatedate": "1900-01-01",
"startdate": "1900-01-01",
"enddate": "2015-11-05",
"isactive": false
},
"addtype1": null,
"addtype2": null,
"objectguid": "85e4ae37-bd1a-42ec-ad27-5c4343d53adf",
"changeid": 51293350,
"housenum": "12",
"addnum1": null,
"addnum2": null,
"previd": 20009203,
"nextid": 0,
"updatedate": "2019-12-14",
"startdate": "2019-12-13",
"enddate": "2079-06-06",
"isactual": true,
"isactive": true,
"opertypeid": 20,
"objectid": 33663074
}
Установка
---------
1. Установите `m3-rest-gar`::
pip install m3-rest-gar
2. Добавьте `rest_framework, `django_filters`, `m3_gar`, `m3_rest_gar`
в `INSTALLED_APPS` и установите `DjangoFilterBackend`
::
INSTALLED_APPS = [
...,
'rest_framework',
'django_filters',
'm3_gar',
'm3_rest_gar',
]
REST_FRAMEWORK = {
...,
'DEFAULT_FILTER_BACKENDS': [
'django_filters.rest_framework.DjangoFilterBackend',
],
}
3. Настройте `m3_gar` и импортируйте данные
4. Добавьте urlpatterns m3_rest_gar
::
urlpatterns = [
...,
path('gar/', include('m3_rest_gar.urls')),
]
Настройка аутентификации OAuth2
-------------------------------
Установить пакет OAuth2
::
pip install django-oauth-toolkit
Настроить приложение (settings.py)
::
INSTALLED_APPS = [
...
'oauth2_provider',
]
MIDDLEWARE = [
...,
'oauth2_provider.middleware.OAuth2TokenMiddleware',
]
AUTHENTICATION_BACKENDS = [
'oauth2_provider.backends.OAuth2Backend',
# Если нужен доступ в /admin:
# 'django.contrib.auth.backends.ModelBackend',
]
REST_FRAMEWORK = {
...,
'DEFAULT_AUTHENTICATION_CLASSES': [
'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
],
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
],
}
Добавить urlpatterns (urls.py)
::
urlpatterns = patterns('',
...
path('oauth2/', include('oauth2_provider.urls', namespace='oauth2_provider')),
)
Выполнить миграцию базы
::
python manage.py migrate
Регистрация клиентского приложения
==================================
Заходим в django-admin /admin
В разделе Users создаем пользователя от имени которого будут выполняться запросы.
(Можно всех клиентов привязать к одному пользователю, они всё-равно будут отличаться номером клиента)
В разделе Applications создаем клиента,
* выбираем пользователя
* `Client type` указываем *Confidencial*
* `Authorization grant type` указываем *Resource owner password-based*
* сохраняем клиента
Обращение к сервису из клиентского приложения
=============================================
1. Получение токена
Для получения токена нужно выполнить POST-запрос:
POST /oauth2/token/
:Параметры:
:client_id:
Тип: строка символов. Идентификатор клиентского приложения
:client_secret:
Тип: строка символов. Секретный ключ клиентского приложения
:grant_type:
Тип: строка символов. Тип идентификации клиента. Доступные значения: *password*
:username:
Тип: строка символов. Имя пользователя, которому выдается токен
:password:
Тип: строка символов. Пароль пользователя
----
:Результат:
Тип: application/json.
::
{
"access_token": токен для доступа к сервису,
"token_type": "Bearer",
"expires_in": время жизни токена в секундах,
"refresh_token": токен для обновления,
"scope": "read"
}
2. Запрос данных
После получения токена его нужно указать в заголовке запроса к сервису:
::
Authorization: Bearer <токен>
Локальное развертывание сервиса с использованием PyCharm (для разработчиков)
============================================================================
1. Создать отдельный Django-проект с виртуальным окружением (по умолчанию PROJECT_DIR/venv). Здесь и далее PROJECT_DIR - директория PyCharm проекта.
2. Установить пакеты в виртуальное окружение::
pip install --src PROJECT_DIR -e git+ssh://git@stash.bars-open.ru:7999/m3/m3-gar.git@master#egg=m3_gar
pip install --src PROJECT_DIR -e git+ssh://git@stash.bars-open.ru:7999/m3/m3-rest-gar.git@master#egg=m3_rest_gar
3. Отметить следующие директории как директории с исходниками (Mark as Sources Root)::
PROJECT_DIR/m3-gar/m3_gar
PROJECT_DIR/m3-rest-gar/m3_rest_gar
4. Создать в директории PROJECT_DIR/m3-rest-gar/test_project/test_project файл local_settings.py, скопировать в него содержимое dev_settings.py, подменить настройки, если потребуется.
5. Актуализировать настройки PyCharm. File->Settings->Languages & Frameworks->Django::
Django project root: PROJECT_DIR/m3-rest-gar/test_project
Settings: PROJECT_DIR/m3-rest-gar/test_project/test_project/local_settings.py.
6. Запустить Django сервер.
7. В клиентском приложении, которое будет использовать локально развернутый m3-rest-gar, необходимо подменить URL сервиса ГАР на локальный.
Raw data
{
"_id": null,
"home_page": null,
"name": "m3-rest-gar",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "django rest gar",
"author": "BARS Group",
"author_email": "bars@bars.group",
"download_url": "https://files.pythonhosted.org/packages/1e/5f/afe522a6686b99604f9f7c0662dbd3d5f9a3bde839348d0ae70582f0764b/m3-rest-gar-1.0.44.tar.gz",
"platform": null,
"description": "REST-\u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0430 django-rest-framework \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0431\u0430\u0437\u0435 \u0413\u0410\u0420\n------------------------------------------------------------\n\n\u042d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0438\u0441 - \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a:\n\n* django-rest-framework <http://www.django-rest-framework.org/>\n* m3-gar\n\n\u0424\u043e\u0440\u043c\u0430\u0442 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\n--------------\n\n\u0421\u043f\u0438\u0441\u043e\u043a \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432\n========================\n\n::\n\n GET /gar/v1/addrobj/\n\n:\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n:level:\n \u0422\u0438\u043f: \u0447\u0438\u0441\u043b\u043e \u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0447\u0438\u0441\u0435\u043b \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e.\n\n \u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u0443\u0440\u043e\u0432\u043d\u044e \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430.\n\n:parent:\n \u0422\u0438\u043f: `hierarchy:objectid`\n `hierarchy` - \u0412\u0438\u0434 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 - `all`, `mun` \u0438\u043b\u0438 `adm`\n\n `objectid` - `objectid` \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430\n\n \u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443.\n:region_code:\n \u0422\u0438\u043f: \u0447\u0438\u0441\u043b\u043e \u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0447\u0438\u0441\u0435\u043b \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e.\n\n \u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u043a\u043e\u0434\u0443 \u0440\u0435\u0433\u0438\u043e\u043d\u0430.\n:name:\n \u0422\u0438\u043f: \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.\n\n \u041f\u043e\u0438\u0441\u043a \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043f\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0438.\n\n:page:\n \u0422\u0438\u043f: \u0447\u0438\u0441\u043b\u043e.\n\n \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432.\n\n----\n\n:\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n \u0422\u0438\u043f: application/json.\n\n \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c DRF.\n\n----\n\n:\u041f\u0440\u0438\u043c\u0435\u0440\u044b:\n\n::\n\n GET /gar/v1/addrobj/?name=\u0428\u0430\u043c\u0431\u0430\u043b\u044b\u0433\u0441\u043a\u0438\u0439&level=8&parent=adm:210893\n\n {\n \"count\": 1,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"id\": 250006,\n \"params\": [\n {\n \"id\": 3197562,\n \"typeid\": {\n \"id\": 5,\n \"name\": \"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441\",\n \"code\": \"PostIndex\",\n \"desc\": \"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0435\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 207679,\n \"changeid\": 533863,\n \"changeidend\": 0,\n \"value\": \"667901\",\n \"updatedate\": \"2017-11-16\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n }\n ],\n \"objectguid\": \"7effc9de-7888-440b-b2a0-cc5432bc09a5\",\n \"changeid\": 533888,\n \"name\": \"\u0428\u0430\u043c\u0431\u0430\u043b\u044b\u0433\u0441\u043a\u0438\u0439\",\n \"typename\": \"\u043f\u0435\u0440\",\n \"level\": \"8\",\n \"previd\": 249989,\n \"nextid\": 0,\n \"updatedate\": \"2019-12-13\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\",\n \"isactual\": true,\n \"isactive\": true,\n \"opertypeid\": 1,\n \"objectid\": 207679\n }\n ]\n }\n\n\n\u0410\u0434\u0440\u0435\u0441\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\n===============\n::\n\n GET /gar/v1/addrobj/:objectid:/\n\n:\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n:objectid:\n \u0422\u0438\u043f: \u0447\u0438\u0441\u043b\u043e.\n\n \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430\n\n\n----\n\n:\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n \u0422\u0438\u043f: application/json.\n\n----\n\n:\u041f\u0440\u0438\u043c\u0435\u0440\u044b:\n\n::\n\n GET /gar/v1/addrobj/207679/\n\n {\n \"id\": 250006,\n \"params\": [\n {\n \"id\": 3197562,\n \"typeid\": {\n \"id\": 5,\n \"name\": \"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441\",\n \"code\": \"PostIndex\",\n \"desc\": \"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0435\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 207679,\n \"changeid\": 533863,\n \"changeidend\": 0,\n \"value\": \"667901\",\n \"updatedate\": \"2017-11-16\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n }\n ],\n \"objectguid\": \"7effc9de-7888-440b-b2a0-cc5432bc09a5\",\n \"changeid\": 533888,\n \"name\": \"\u0428\u0430\u043c\u0431\u0430\u043b\u044b\u0433\u0441\u043a\u0438\u0439\",\n \"typename\": \"\u043f\u0435\u0440\",\n \"level\": \"8\",\n \"previd\": 249989,\n \"nextid\": 0,\n \"updatedate\": \"2019-12-13\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\",\n \"isactual\": true,\n \"isactive\": true,\n \"opertypeid\": 1,\n \"objectid\": 207679\n }\n\n\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043c\u043e\u0432\n============\n\n::\n\n GET /gar/v1/houses/\n\n\n:\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n:parent:\n \u0422\u0438\u043f: `hierarchy:objectid`\n `hierarchy` - \u0412\u0438\u0434 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 - `all`, `mun` \u0438\u043b\u0438 `adm`\n\n `objectid` - `objectid` \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430\n\n \u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443.\n\n:housenum:\n \u0422\u0438\u043f: \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.\n\n \u041f\u043e\u0438\u0441\u043a \u0434\u043e\u043c\u0430 \u043f\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043d\u043e\u043c\u0435\u0440\u0435.\n\n:page:\n \u0422\u0438\u043f: \u0447\u0438\u0441\u043b\u043e. \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432.\n\n----\n\n:\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n \u0422\u0438\u043f: application/json.\n\n \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c DRF.\n\n----\n\n:\u041f\u0440\u0438\u043c\u0435\u0440\u044b:\n\n::\n\n GET /gar/v1/houses/?parent=adm:210826&name=5\n\n {\n \"count\": 65,\n \"next\": \"http://127.0.0.1:8000/gar/v1/houses/?name=5&page=2&parent=adm%3A210826\",\n \"previous\": null,\n \"results\": [\n {\n \"id\": 52384730,\n \"params\": [\n {\n \"id\": 197175620,\n \"typeid\": {\n \"id\": 3,\n \"name\": \"\u0418\u041d\u041d \u0424\u041b \u0422\u0415\u0420 \u0423\u0427\",\n \"code\": \"territorialifnsflcode\",\n \"desc\": \"\u0422\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 158819227,\n \"value\": \"1717\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n },\n {\n \"id\": 197175630,\n \"typeid\": {\n \"id\": 6,\n \"name\": \"\u041e\u041a\u0410\u0422\u041e\",\n \"code\": \"OKATO\",\n \"desc\": \"\u041e\u041a\u0410\u0422\u041e\",\n \"updatedate\": \"2018-06-19\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 0,\n \"value\": \"93243825001\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197175631,\n \"typeid\": {\n \"id\": 5,\n \"name\": \"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441\",\n \"code\": \"PostIndex\",\n \"desc\": \"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0435\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 0,\n \"value\": \"667903\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197175643,\n \"typeid\": {\n \"id\": 14,\n \"name\": \"\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430\",\n \"code\": \"DivisionType\",\n \"desc\": \"\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u0432 \u043a\u0430\u043a\u043e\u043c \u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0430\u0434\u0440\u0435\u0441, \u043c\u0443\u043d\u0438\u0446\u0438\u043f\u0430\u043b\u044c\u043d\u043e\u043c/\u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c\",\n \"updatedate\": \"2018-12-14\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 0,\n \"value\": \"0\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197175692,\n \"typeid\": {\n \"id\": 15,\n \"name\": \"\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440\",\n \"code\": \"Counter\",\n \"desc\": \"\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043e\u0431\u044c\u0435\u043a\u0442\u0430 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f\",\n \"updatedate\": \"2018-12-14\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 0,\n \"value\": \"18\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197175626,\n \"typeid\": {\n \"id\": 7,\n \"name\": \"OKTMO\",\n \"code\": \"OKTMO\",\n \"desc\": \"OKTMO\",\n \"updatedate\": \"2018-06-19\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 51296790,\n \"value\": \"93643425\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2019-12-13\"\n },\n {\n \"id\": 197175728,\n \"typeid\": {\n \"id\": 7,\n \"name\": \"OKTMO\",\n \"code\": \"OKTMO\",\n \"desc\": \"OKTMO\",\n \"updatedate\": \"2018-06-19\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296790,\n \"changeidend\": 0,\n \"value\": \"93643425101\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"2019-12-13\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197175636,\n \"typeid\": {\n \"id\": 13,\n \"name\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440\",\n \"code\": \"ReestrNum\",\n \"desc\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430\",\n \"updatedate\": \"2018-11-12\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 51296790,\n \"value\": \"936434251010000000220018000000005\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2019-12-13\"\n },\n {\n \"id\": 197176157,\n \"typeid\": {\n \"id\": 13,\n \"name\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440\",\n \"code\": \"ReestrNum\",\n \"desc\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430\",\n \"updatedate\": \"2018-11-12\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296790,\n \"changeidend\": 0,\n \"value\": \"936434251010000000220018000000000\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"2019-12-13\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197173900,\n \"typeid\": {\n \"id\": 1,\n \"name\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"code\": \"IFNSFL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 158819227,\n \"value\": \"1720\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n },\n {\n \"id\": 679599960,\n \"typeid\": {\n \"id\": 1,\n \"name\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"code\": \"IFNSFL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 158819227,\n \"changeidend\": 0,\n \"value\": \"1700\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"2020-11-21\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 679666370,\n \"typeid\": {\n \"id\": 2,\n \"name\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"code\": \"IFNSUL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 158819227,\n \"changeidend\": 0,\n \"value\": \"1700\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"2020-11-21\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197175624,\n \"typeid\": {\n \"id\": 4,\n \"name\": \"\u0418\u0424\u041d\u0421 \u042e\u041b \u0422\u0415\u0420 \u0423\u0427\",\n \"code\": \"territorialifnsulcode\",\n \"desc\": \"\u0422\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 158819227,\n \"value\": \"1717\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n },\n {\n \"id\": 197175616,\n \"typeid\": {\n \"id\": 2,\n \"name\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"code\": \"IFNSUL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33665495,\n \"changeid\": 51296115,\n \"changeidend\": 158819227,\n \"value\": \"1720\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n }\n ],\n \"housetype\": {\n \"id\": 3,\n \"name\": \"\u0414\u043e\u043c\u043e\u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435\",\n \"shortname\": \"\u0434\u0432\u043b\u0434.\",\n \"desc\": \"\u0414\u043e\u043c\u043e\u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435\",\n \"updatedate\": \"1900-01-01\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2015-11-05\",\n \"isactive\": false\n },\n \"addtype1\": null,\n \"addtype2\": null,\n \"objectguid\": \"0e27bfa6-d3e2-4160-967a-5f14d43fbc98\",\n \"changeid\": 51296790,\n \"housenum\": \"18\",\n \"addnum1\": null,\n \"addnum2\": null,\n \"previd\": 20010713,\n \"nextid\": 0,\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"2019-12-13\",\n \"enddate\": \"2079-06-06\",\n \"isactual\": true,\n \"isactive\": true,\n \"opertypeid\": 20,\n \"objectid\": 33665495\n }\n ]\n }\n\n\n\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0434\u043e\u043c\u0435\n=================\n::\n\n GET /gar/v1/houses/:objectid:/\n\n:\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n:objectid:\n \u0422\u0438\u043f: \u0447\u0438\u0441\u043b\u043e.\n\n \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0434\u043e\u043c\u0430\n\n\n----\n\n:\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n \u0422\u0438\u043f: application/json.\n\n----\n\n:\u041f\u0440\u0438\u043c\u0435\u0440\u044b:\n\n::\n\n GET /gar/v1/houses/33663074/\n\n {\n \"id\": 60865585,\n \"params\": [\n {\n \"id\": 197161766,\n \"typeid\": {\n \"id\": 1,\n \"name\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"code\": \"IFNSFL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 158819225,\n \"value\": \"1720\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n },\n {\n \"id\": 197163461,\n \"typeid\": {\n \"id\": 13,\n \"name\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440\",\n \"code\": \"ReestrNum\",\n \"desc\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430\",\n \"updatedate\": \"2018-11-12\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51293350,\n \"changeidend\": 0,\n \"value\": \"936434251010000000220012000000000\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"2019-12-13\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197163411,\n \"typeid\": {\n \"id\": 6,\n \"name\": \"\u041e\u041a\u0410\u0422\u041e\",\n \"code\": \"OKATO\",\n \"desc\": \"\u041e\u041a\u0410\u0422\u041e\",\n \"updatedate\": \"2018-06-19\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 0,\n \"value\": \"93243825001\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197163416,\n \"typeid\": {\n \"id\": 5,\n \"name\": \"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441\",\n \"code\": \"PostIndex\",\n \"desc\": \"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0435\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 0,\n \"value\": \"667903\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197163430,\n \"typeid\": {\n \"id\": 14,\n \"name\": \"\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430\",\n \"code\": \"DivisionType\",\n \"desc\": \"\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u0432 \u043a\u0430\u043a\u043e\u043c \u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0430\u0434\u0440\u0435\u0441, \u043c\u0443\u043d\u0438\u0446\u0438\u043f\u0430\u043b\u044c\u043d\u043e\u043c/\u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c\",\n \"updatedate\": \"2018-12-14\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 0,\n \"value\": \"0\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197163432,\n \"typeid\": {\n \"id\": 15,\n \"name\": \"\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440\",\n \"code\": \"Counter\",\n \"desc\": \"\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043e\u0431\u044c\u0435\u043a\u0442\u0430 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f\",\n \"updatedate\": \"2018-12-14\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 0,\n \"value\": \"12\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197163408,\n \"typeid\": {\n \"id\": 7,\n \"name\": \"OKTMO\",\n \"code\": \"OKTMO\",\n \"desc\": \"OKTMO\",\n \"updatedate\": \"2018-06-19\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 51293350,\n \"value\": \"93643425\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2019-12-13\"\n },\n {\n \"id\": 197163454,\n \"typeid\": {\n \"id\": 7,\n \"name\": \"OKTMO\",\n \"code\": \"OKTMO\",\n \"desc\": \"OKTMO\",\n \"updatedate\": \"2018-06-19\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51293350,\n \"changeidend\": 0,\n \"value\": \"93643425101\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"2019-12-13\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197163423,\n \"typeid\": {\n \"id\": 13,\n \"name\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440\",\n \"code\": \"ReestrNum\",\n \"desc\": \"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430\",\n \"updatedate\": \"2018-11-12\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 51293350,\n \"value\": \"936434251010000000220012000000005\",\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2019-12-13\"\n },\n {\n \"id\": 197163397,\n \"typeid\": {\n \"id\": 3,\n \"name\": \"\u0418\u041d\u041d \u0424\u041b \u0422\u0415\u0420 \u0423\u0427\",\n \"code\": \"territorialifnsflcode\",\n \"desc\": \"\u0422\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 158819225,\n \"value\": \"1717\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n },\n {\n \"id\": 679599958,\n \"typeid\": {\n \"id\": 1,\n \"name\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"code\": \"IFNSFL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 158819225,\n \"changeidend\": 0,\n \"value\": \"1700\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"2020-11-21\",\n \"enddate\": \"2079-06-06\"\n },\n {\n \"id\": 197163402,\n \"typeid\": {\n \"id\": 4,\n \"name\": \"\u0418\u0424\u041d\u0421 \u042e\u041b \u0422\u0415\u0420 \u0423\u0427\",\n \"code\": \"territorialifnsulcode\",\n \"desc\": \"\u0422\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u0418\u0424\u041d\u0421 \u0424\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 158819225,\n \"value\": \"1717\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n },\n {\n \"id\": 197161768,\n \"typeid\": {\n \"id\": 2,\n \"name\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"code\": \"IFNSUL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 51292720,\n \"changeidend\": 158819225,\n \"value\": \"1720\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2020-11-21\"\n },\n {\n \"id\": 679666368,\n \"typeid\": {\n \"id\": 2,\n \"name\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"code\": \"IFNSUL\",\n \"desc\": \"\u0418\u0424\u041d\u0421 \u042e\u041b\",\n \"updatedate\": \"2018-06-15\",\n \"startdate\": \"2011-11-01\",\n \"enddate\": \"2079-06-06\",\n \"isactive\": true\n },\n \"objectid\": 33663074,\n \"changeid\": 158819225,\n \"changeidend\": 0,\n \"value\": \"1700\",\n \"updatedate\": \"2020-11-21\",\n \"startdate\": \"2020-11-21\",\n \"enddate\": \"2079-06-06\"\n }\n ],\n \"housetype\": {\n \"id\": 3,\n \"name\": \"\u0414\u043e\u043c\u043e\u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435\",\n \"shortname\": \"\u0434\u0432\u043b\u0434.\",\n \"desc\": \"\u0414\u043e\u043c\u043e\u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435\",\n \"updatedate\": \"1900-01-01\",\n \"startdate\": \"1900-01-01\",\n \"enddate\": \"2015-11-05\",\n \"isactive\": false\n },\n \"addtype1\": null,\n \"addtype2\": null,\n \"objectguid\": \"85e4ae37-bd1a-42ec-ad27-5c4343d53adf\",\n \"changeid\": 51293350,\n \"housenum\": \"12\",\n \"addnum1\": null,\n \"addnum2\": null,\n \"previd\": 20009203,\n \"nextid\": 0,\n \"updatedate\": \"2019-12-14\",\n \"startdate\": \"2019-12-13\",\n \"enddate\": \"2079-06-06\",\n \"isactual\": true,\n \"isactive\": true,\n \"opertypeid\": 20,\n \"objectid\": 33663074\n }\n\n\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n---------\n\n1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 `m3-rest-gar`::\n\n pip install m3-rest-gar\n\n2. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 `rest_framework, `django_filters`, `m3_gar`, `m3_rest_gar`\n\u0432 `INSTALLED_APPS` \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 `DjangoFilterBackend`\n\n::\n\n INSTALLED_APPS = [\n ...,\n 'rest_framework',\n 'django_filters',\n 'm3_gar',\n 'm3_rest_gar',\n ]\n\n REST_FRAMEWORK = {\n ...,\n 'DEFAULT_FILTER_BACKENDS': [\n 'django_filters.rest_framework.DjangoFilterBackend',\n ],\n }\n\n3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 `m3_gar` \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\n\n4. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 urlpatterns m3_rest_gar\n\n::\n\n urlpatterns = [\n ...,\n path('gar/', include('m3_rest_gar.urls')),\n ]\n\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 OAuth2\n-------------------------------\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 OAuth2\n\n::\n\n pip install django-oauth-toolkit\n\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (settings.py)\n\n::\n\n INSTALLED_APPS = [\n ...\n 'oauth2_provider',\n ]\n\n MIDDLEWARE = [\n ...,\n 'oauth2_provider.middleware.OAuth2TokenMiddleware',\n ]\n\n AUTHENTICATION_BACKENDS = [\n 'oauth2_provider.backends.OAuth2Backend',\n # \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u0432 /admin:\n # 'django.contrib.auth.backends.ModelBackend',\n ]\n\n REST_FRAMEWORK = {\n ...,\n 'DEFAULT_AUTHENTICATION_CLASSES': [\n 'oauth2_provider.contrib.rest_framework.OAuth2Authentication',\n ],\n 'DEFAULT_PERMISSION_CLASSES': [\n 'rest_framework.permissions.IsAuthenticated',\n ],\n }\n\n\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c urlpatterns (urls.py)\n\n::\n\n urlpatterns = patterns('',\n ...\n path('oauth2/', include('oauth2_provider.urls', namespace='oauth2_provider')),\n )\n\n\n\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0431\u0430\u0437\u044b\n\n::\n\n python manage.py migrate\n\n\n\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n==================================\n\n\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 django-admin /admin\n\n\u0412 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 Users \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u044b.\n(\u041c\u043e\u0436\u043d\u043e \u0432\u0441\u0435\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u0442\u044c \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e, \u043e\u043d\u0438 \u0432\u0441\u0451-\u0440\u0430\u0432\u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430)\n\n\u0412 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 Applications \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430,\n* \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\n* `Client type` \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c *Confidencial*\n* `Authorization grant type` \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c *Resource owner password-based*\n* \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430\n\n\n\u041e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u0438\u0437 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n=============================================\n\n1. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u0430\n\n\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c POST-\u0437\u0430\u043f\u0440\u043e\u0441:\n\n POST /oauth2/token/\n\n:\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n:client_id:\n \u0422\u0438\u043f: \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n\n:client_secret:\n \u0422\u0438\u043f: \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u0421\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n\n:grant_type:\n \u0422\u0438\u043f: \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u0422\u0438\u043f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: *password*\n\n:username:\n \u0422\u0438\u043f: \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0432\u044b\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043a\u0435\u043d\n\n:password:\n \u0422\u0438\u043f: \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\n\n----\n\n:\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n \u0422\u0438\u043f: application/json.\n\n::\n\n {\n \"access_token\": \u0442\u043e\u043a\u0435\u043d \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443,\n \"token_type\": \"Bearer\",\n \"expires_in\": \u0432\u0440\u0435\u043c\u044f \u0436\u0438\u0437\u043d\u0438 \u0442\u043e\u043a\u0435\u043d\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445,\n \"refresh_token\": \u0442\u043e\u043a\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f,\n \"scope\": \"read\"\n }\n\n\n2. \u0417\u0430\u043f\u0440\u043e\u0441 \u0434\u0430\u043d\u043d\u044b\u0445\n\n\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u0430 \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443:\n\n::\n Authorization: Bearer <\u0442\u043e\u043a\u0435\u043d>\n\n\n\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c PyCharm (\u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432)\n============================================================================\n\n1. \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 Django-\u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435\u043c (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e PROJECT_DIR/venv). \u0417\u0434\u0435\u0441\u044c \u0438 \u0434\u0430\u043b\u0435\u0435 PROJECT_DIR - \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f PyCharm \u043f\u0440\u043e\u0435\u043a\u0442\u0430.\n\n2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435::\n\n pip install --src PROJECT_DIR -e git+ssh://git@stash.bars-open.ru:7999/m3/m3-gar.git@master#egg=m3_gar\n pip install --src PROJECT_DIR -e git+ssh://git@stash.bars-open.ru:7999/m3/m3-rest-gar.git@master#egg=m3_rest_gar\n\n3. \u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043a\u0430\u043a \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 (Mark as Sources Root)::\n\n PROJECT_DIR/m3-gar/m3_gar\n PROJECT_DIR/m3-rest-gar/m3_rest_gar\n\n4. \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 PROJECT_DIR/m3-rest-gar/test_project/test_project \u0444\u0430\u0439\u043b local_settings.py, \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043d\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 dev_settings.py, \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.\n\n5. \u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 PyCharm. File->Settings->Languages & Frameworks->Django::\n\n Django project root: PROJECT_DIR/m3-rest-gar/test_project\n Settings: PROJECT_DIR/m3-rest-gar/test_project/test_project/local_settings.py.\n\n6. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Django \u0441\u0435\u0440\u0432\u0435\u0440.\n\n7. \u0412 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0439 m3-rest-gar, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c URL \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0413\u0410\u0420 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "REST-service for GAR.",
"version": "1.0.44",
"project_urls": null,
"split_keywords": [
"django",
"rest",
"gar"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0eafd4a66807a263aec914ad5e9338866e3e2d7e9e0c2dce73c78b3518e0be93",
"md5": "f84450cc7f445cbd9b4911e475387d27",
"sha256": "46562facfb1feeb7f36f2f71d4fd57fd2b7e843f38217bcc4f48e6ed68f9767a"
},
"downloads": -1,
"filename": "m3_rest_gar-1.0.44-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f84450cc7f445cbd9b4911e475387d27",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13175,
"upload_time": "2024-03-30T05:19:46",
"upload_time_iso_8601": "2024-03-30T05:19:46.214200Z",
"url": "https://files.pythonhosted.org/packages/0e/af/d4a66807a263aec914ad5e9338866e3e2d7e9e0c2dce73c78b3518e0be93/m3_rest_gar-1.0.44-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e5fafe522a6686b99604f9f7c0662dbd3d5f9a3bde839348d0ae70582f0764b",
"md5": "a415b47c75705bb440d3b4ff62097e9a",
"sha256": "fe94951216c2574baf77b11eedd183c4f55787d2c035fa742e26a899f8a1507b"
},
"downloads": -1,
"filename": "m3-rest-gar-1.0.44.tar.gz",
"has_sig": false,
"md5_digest": "a415b47c75705bb440d3b4ff62097e9a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19691,
"upload_time": "2024-03-30T05:19:48",
"upload_time_iso_8601": "2024-03-30T05:19:48.543980Z",
"url": "https://files.pythonhosted.org/packages/1e/5f/afe522a6686b99604f9f7c0662dbd3d5f9a3bde839348d0ae70582f0764b/m3-rest-gar-1.0.44.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-30 05:19:48",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "m3-rest-gar"
}