владелец моего продукта хочет, чтобы я использовал «API» вместо вышеуказанных решений
Мое понимание этого означает, что ваш менеджер по продукту хочет, чтобы вы отделили бэкэнд от внешнего интерфейса. Проще говоря, вы должны создать [RESTful] API. По сути, вам не нужно использовать render_template
для обработки и анализа шаблонов HTML и их отображения конечному пользователю.
Ваш новый API должен возвращать объекты JSON, а затем, на стороне клиента (т. Е. Веб-сайта), API вызывается для создания, обновления, извлечения и удаления данных из базы данных, а затем возвращает информацию клиенту.
from flask import Flask, jsonify
app = Flask(__name__)
app.route("/", methods=["GET"])
def index():
api_response = {
"status": "success",
"message": "Welcome to our API"
}
return jsonify(api_response)
Должен ли я удалить любой render_template или request.form?
Вам больше не понадобится render_template
, поскольку вы не будете отображать или возвращать HTML-страницы. Однако request.form
все еще можно использовать для сбора данных со стороны клиента. В целом, зависит от того, как вы хотите, чтобы клиент взаимодействовал с вашим API
Должен ли я полностью изменить свой бэкэнд и просмотреть функции?
Только изменять / создавать функции просмотра для возврата определенных данных.
Примеры случаев:
Получить всех пользователей: создать маршрут /api/users
Получить пользователя A: создать маршрут /api/users/user_a
Могу ли я просто изменить render_template и request.form и не вносить изменений в оставшийся код?
номер
Могу ли я использовать шаблон Jinja после использования API? или я должен использовать JavaScript?
Очень маловероятно. Вы больше не будете рендерить шаблон. Должен ли я использовать Javascript? Конечно, для вашей клиентской стороны.
См. https://www.restapitutorial.com