Проверка во внешнем Django REST API, является ли пользователь Wordpress платным подписчиком или нет
Я работаю над программой на python, которую я хочу сделать доступной для платных подписчиков через REST. В настоящее время я думаю сделать фронтенд на Wordpress, а затем разместить бэкенд в другом месте.
В wordpress есть куча плагинов для обработки платных подписчиков и так далее, и все кажется прекрасным, но меня беспокоит, как я могу проверить это на бэкенде, который размещен в другом месте? Если я использую Django, есть ли способ сделать какой-то вызов на сервер Wordpress(?) и проверить, что пользователь, который пытается получить элементы, является платным подписчиком?
Я сделал Диаграмму, чтобы показать, что я имею в виду. В принципе, B должен отвечать элементами только в том случае, если звонящий A является платным абонентом.
Я читал, что можно сгенерировать ключ API, который будет необходим для получения данных из API, я также читал способы скрыть этот вызов от фронтенда к бэкенду от пользователя, используя своего рода реле на wordpress. Возможно, здесь я ошибаюсь
Есть ли какой-либо предпочтительный способ сделать это? Является ли Django REST & Wordpress подходящими вариантами для этого?
В программировании почти все невозможно. Однако, поскольку wordpress построен на php, я бы не сказал, что с ним можно работать напрямую. Но, (МОЖНО) вы можете подключить базу данных wordpress к django только для READ и создать api.
Как бы я поступил, если бы у меня была такая задача:
Подключите Django к существующей базе данных (вашей базе данных wordpress):
- Django сам учит вас, как соединиться с унаследованной базой данных из своей документации .
Django comes with a utility called inspectdb that can create models by introspecting an existing database. You can view the output by running this command: $ python manage.py inspectdb Save this as a file by using standard Unix output redirection: $ python manage.py inspectdb > models.py **This feature is meant as a shortcut, not as definitive model generation.**
После создания моделей вы можете создать свои конечные точки:
- Создайте сериализаторы и наборы представлений из моделей, которые были автоматически сгенерированы django из вашей базы данных wordpress.
- Отобразите необходимые вам данные, например, данные пользователя, которые вам нужно получить, например:
paid_subscriber = True
или paid_subscriber = 1. Конечно, это будет там.
Я думаю, что единственная проблема, с которой вы столкнетесь, это соединение с базой данных wordpress. После того, как вы сделаете это в django, ничто не помешает вам создать конечные точки, которые детализируют данные, которыми он располагает.
Вы можете сделать это, используя Django REST framework (DRF), который используется для таких целей для создания остальных API.
В соответствии с вашим запросом я бы предложил вам использовать DRF для чтения данных из базы данных wordpress и выполнения валидации поверх них.
Вот некоторые ссылки, которые вы можете использовать для справки :-
https://pythonrepo.com/repo/istrategylabs-django-wordpress-python-third-party-apis-wrappers https://www.ianlewis.org/en/administer-wordpress-django-admin