2016-06-24 8 views
0

По причинам, не зависящим от меня, два проекта Django были размещены на двух разных серверах AWS, причем оба они использовали одну и ту же базу данных RDS AWS.Подключение 2 проектов Django на разных серверах

Я хочу, чтобы проект B имел возможность доступа к моделям (таблицам), используемым в проекте A (где они были изначально созданы).

Возможно ли это? Импортировать проект Приложение через сеть через PYTHONPATH в некотором роде?

+0

вы не сможете просто импортировать его по серверу и вносить изменения по мере его выполнения, вам нужно будет изменить A, чтобы разрешить соединение из B, чтобы сделать манипуляции. –

+0

@ TadhgMcDonald-Jensen не мог бы рассказать о том, как это будет сделано – qarthandso

+0

Я не знаю достаточно об этом, чтобы опубликовать половину достойного ответа, но я считаю, что соответствующая технология - это ['RPC'] (https: //en.wikipedia. org/wiki/Remote_procedure_call), позволяя вам в основном отправлять код из B, который должен быть выполнен на A. –

ответ

1

Извините ... Мне не хватает репутации, чтобы комментировать, иначе я бы не опубликовал.

Я думаю, что в этой ситуации вам может понадобиться использовать Django REST Framework.

Таким образом, вы можете просто разрешить проектам разговаривать друг с другом, DRF поставляется с встроенным httpbasic, но вы, вероятно, должны попытаться настроить некоторый тип хэшированного токена как часть auth.

Недавно я обнаружил this guide ... хотя это специфично для мобильных устройств, это, вероятно, одно из лучших походов DRF.

+0

очень круто, поэтому вы предлагаете, чтобы проект B спросил Project A для представления модели JSON модели и использовал ее таким образом? – qarthandso

+0

Да, это, наверное, самый простой способ сделать это. Я тоже начинаю аналогичную реализацию, так что, надеюсь, кто-то, кто имеет опыт работы с API, может перезвонить. Единственное предостережение, которое я видел, это то, что сериализация моделей django иногда отстой (более сложные модели не будут легко сериализоваться для передачи JSON), но в зависимости от ваших моделей это может быть проблемой. – rob