Создать функцию общей ссылки в Django?

#reactjs #django #django-rest-framework

Вопрос:

У меня есть приложение Django Rest Framework, которое загружает данные из csv. Затем я использую React для создания панелей мониторинга и виджетов на основе этих данных. Я хочу иметь возможность генерировать ссылку для обмена доступной только для чтения версией любой панели мониторинга, как в документах Google и т. Д. Любой, кто нажмет на эту ссылку, сможет увидеть панель мониторинга со всеми диаграммами, аналитикой и т.д. Этой ссылкой можно поделиться так же, как вы делитесь ссылкой Google Forms. Я не знаю, как это сделать. Любая помощь / указатели будут оценены по достоинству. Спасибо!

Комментарии:

1. Что я понял из вашего вопроса: «Вам нужен конструктор ссылок» и «Вы хотите, чтобы api был доступен только для чтения». Это правда?

2. @yousof Я не уверен, что подразумевается под «построителем ссылок». Но я хочу поделиться определенной панелью мониторинга с помощью ссылки, уникальной для этой панели мониторинга или виджета. Любой, кто нажмет на эту ссылку, должен иметь возможность просмотреть эту панель мониторинга. Это не то же самое, что совместное использование URL-адреса страницы, так как на странице может быть несколько виджетов. Кроме того, страница / панель мониторинга принадлежит определенному пользователю, поэтому для совместного использования URL-адреса страницы, очевидно, потребуется аутентификация и т.д. Ссылка для общего доступа, созданная для конкретной панели мониторинга, не потребует аутентификации. Любой, у кого есть ссылка, может получить доступ.

3. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Я думаю, что теоретически вам нужно использовать маршрутизатор в вашем приложении react (например https://reactrouter.com/ ).

Если вы используете приложение create-react, вы также можете обратиться к https://create-react-app.dev/docs/adding-a-router/#:~:text=Create React App doesn’t,is the most popular one.) .

С помощью этого вы можете напрямую считывать параметры на определенной странице в своем приложении react, которые затем можно использовать для создания конкретного вызова серверной части, чтобы получить необходимые данные для создания панели мониторинга.

Функциональность «компоновщика ссылок», скорее всего, должна быть реализована на серверной части, чтобы у вас были необходимые параметры, необходимые для сбора необходимых данных, возможно, с помощью строк запроса.

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

например : http://djangoappxpto.com/link/12345abcd указывает на компонент страницы реагирования, который затем выполняет fetch , к http://djangoappxpto.com/api/getStats/12345abcd которому после получения python внутренне будет означать что-то вроде http://djangoappxpto.com/api/generateStatsReport/?param1=aamp;param2=bamp;param3=wamp;param4=aa .

Комментарии:

1. Спасибо, Тельмо Диас. Позвольте мне вернуться и попробовать это и узнать об этом больше, прежде чем я вернусь. Спасибо вам за ваше время и предложение!