Quickstarters
CRUD Samples
Как разработать CRUD-приложение на Flask?
32 мин
обзор этот учебник проведет вас через создание приложения crud (создание, чтение, обновление, удаление) с использованием flask мы интегрируем back4app в качестве нашего серверного решения для упрощения управления данными вы научитесь настраивать проект back4app, разрабатывать гибкую структуру данных и реализовывать функции crud с использованием flask в этом руководстве вы сначала создадите проект back4app под названием basic crud app flask , который предлагает надежное решение для хранения нереляционных данных вы определите свою схему данных с помощью классов и полей либо вручную, либо с помощью ai агента back4app после настройки вашего сервера с помощью интерфейса администратора back4app вы подключите ваше приложение flask к сервису через вызовы rest api этот учебник также охватывает управление безопасным доступом к вашим данным к концу вы получите готовое к производству приложение flask, способное выполнять операции crud вместе с безопасной аутентификацией пользователей и обработкой данных что вы узнаете как создать приложение crud на основе flask с нереляционной базой данных как структурировать вашу бэкенд часть на back4app и интегрировать ее с проектом flask как использовать интерфейс администратора back4app для управления операциями crud без усилий как развернуть ваше приложение flask, включая использование docker для контейнеризации предварительные требования перед тем как начать, убедитесь, что у вас есть аккаунт back4app с настроенным проектом нужна помощь? обратитесь к начало работы с back4app https //www back4app com/docs/get started/new parse app настроенная среда разработки python используйте редактор, такой как vscode или pycharm, и установите python 3 8 (или новее) базовые знания python, flask и rest api при необходимости обратитесь к документации python https //docs python org/3/ шаг 1 – начальная настройка проекта создание вашего проекта back4app войдите в свою учетную запись back4app нажмите на “новое приложение” на вашей панели управления введите имя проекта basic crud app flask , и завершите процесс настройки создать новый проект после создания ваш проект появится на панели управления, служа основой для вашей конфигурации бэкенда шаг 2 – построение схемы данных определение ваших структур данных для этого приложения вы создадите несколько классов в вашем проекте back4app ниже приведены примеры основных классов и их полей, необходимых для операций crud 1\ класс элементов поле тип описание ид идентификатор объекта автоматически сгенерированный уникальный идентификатор название строка название или заголовок элемента описание строка краткий обзор предмета создано дата время создания элемента обновлено дата метка времени для последнего обновления 2\ класс пользователей поле тип описание ид идентификатор объекта автоматически сгенерированный уникальный идентификатор имя пользователя строка уникальное имя пользователя для пользователя электронная почта строка уникальный адрес электронной почты хешпароля строка безопасно захешированный пароль для аутентификации создано дата время, когда была создана учетная запись пользователя обновлено дата метка времени для последнего обновления аккаунта вы можете создать эти классы и добавить поля непосредственно в вашей панели управления back4app создать новый класс вы можете добавить столбцы, выбрав тип данных, назвав поле, установив значения по умолчанию и отметив его как обязательное создать столбец использование ai агента back4app для создания схемы ai агент в вашей панели управления может автоматически установить схему на основе ваших инструкций этот инструмент упрощает процесс и гарантирует, что ваша модель данных оптимальна для операций crud как использовать ai агента откройте ai агента войдите в свою панель управления back4app и найдите ai агента в настройках проекта опишите вашу схему предоставьте подробный запрос, перечисляющий классы и поля подтвердите настройку просмотрите предложенную схему и одобрите изменения пример запроса create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) этот процесс, управляемый ии, экономит время и гарантирует последовательную, эффективную модель данных шаг 3 – включение интерфейса администратора и обработка операций crud обзор интерфейса администратора интерфейс администратора back4app предоставляет решение без кода для управления вашими данными на сервере с его функциями перетаскивания вы можете легко выполнять операции crud — такие как добавление, редактирование или удаление записей включение интерфейса администратора перейдите в меню “дополнительно” на вашей панели управления back4app выберите “admin app” и нажмите “включить admin app ” создайте свою учетную запись администратора, что также настраивает начальные роли, такие как b4aadminuser включить admin app после активации войдите в интерфейс администратора, чтобы управлять данными вашего проекта панель управления admin app использование интерфейса администратора для crud в интерфейсе администратора вы можете вставить новые записи нажмите «добавить запись» в классе (например, элементы), чтобы создать новые данные просмотреть и изменить записи выберите любую запись, чтобы увидеть детали или обновить поля удалить записи удалите записи, которые больше не нужны этот простой в использовании интерфейс повышает производительность, упрощая управление на стороне сервера шаг 4 – подключение вашего flask приложения к back4app после настройки вашего бэкенда следующим шагом является связывание вашего flask приложения с back4app выполнение api вызовов из flask поскольку для flask нет специального parse sdk, вы будете использовать rest api вызовы в вашем приложении flask вы можете использовать библиотеку requests для выполнения операций crud пример настройка api связи установите библиотеку requests запустите следующую команду в вашем терминале pip install requests настройте модуль python для вызовов api создайте файл с именем back4app api py # back4app api py import requests application id = "your application id" rest api key = "your rest api key" base url = "https //parseapi back4app com/classes" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def get items() response = requests get(f"{base url}/items", headers=headers) return response json() def create item(title, description) data = {"title" title, "description" description} response = requests post(f"{base url}/items", headers=headers, json=data) return response json() def update item(object id, title, description) data = {"title" title, "description" description} response = requests put(f"{base url}/items/{object id}", headers=headers, json=data) return response json() def delete item(object id) response = requests delete(f"{base url}/items/{object id}", headers=headers) return response json() интегрируйте функции api в ваши маршруты flask например, в app py # app py from flask import flask, request, jsonify, render template from back4app api import get items, create item, update item, delete item app = flask( name ) @app route("/") def index() items = get items() return render template("index html", items=items get("results", \[])) @app route("/add", methods=\["post"]) def add item() title = request form get("title") description = request form get("description") result = create item(title, description) return jsonify(result) @app route("/update/\<item id>", methods=\["put"]) def modify item(item id) data = request get json() result = update item(item id, data get("title"), data get("description")) return jsonify(result) @app route("/delete/\<item id>", methods=\["delete"]) def remove item(item id) result = delete item(item id) return jsonify(result) if name == " main " app run(debug=true) этот пример иллюстрирует, как использовать rest вызовы в flask для взаимодействия с вашим бэкендом back4app шаг 5 – защита вашего бэкенда реализация контроля доступа защитите свои данные, настроив контроль доступа например, при создании нового элемента вы можете ограничить доступ только для его создателя ниже приведен пример использования api вызовов с контролируемым доступом import requests def create private item(title, description, user token) data = {"title" title, "description" description} headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "x parse session token" user token, "content type" "application/json" } response = requests post("https //parseapi back4app com/classes/items", headers=headers, json=data) return response json() настройка разрешений на уровне классов настройте разрешения на уровне классов (clp) непосредственно в панели управления back4app, чтобы гарантировать, что только аутентифицированные пользователи могут получить доступ к определенным классам шаг 6 – реализация аутентификации пользователей настройка управления пользователями back4app предлагает встроенное управление пользователями через свой класс users в вашем приложении flask вы можете создать конечные точки для регистрации и входа пример регистрация и вход пользователя \# auth py import requests application id = "your application id" rest api key = "your rest api key" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def register user(username, password, email) data = {"username" username, "password" password, "email" email} response = requests post("https //parseapi back4app com/users", headers=headers, json=data) return response json() def login user(username, password) params = {"username" username, "password" password} response = requests get("https //parseapi back4app com/login", headers=headers, params=params) return response json() вы можете создать соответствующие маршруты flask для обработки регистрации и входа пользователей, используя эти функции шаг 7 – развертывание вашего flask приложения back4app упрощает развертывание вы можете развернуть ваше flask приложение несколькими способами, включая docker 7 1 упаковка вашего flask приложения подготовьте ваше приложение убедитесь, что все необходимые файлы и зависимости включены тестируйте локально запустите ваше приложение локально с помощью flask run 7 2 организация структуры вашего проекта типичная структура может быть следующей basic crud app flask/ \| app py \| back4app api py \| auth py \| templates/ \| | index html \| static/ \| requirements txt \| dockerfile 7 3 контейнеризация с помощью docker включите dockerfile в корень проекта \# use a lightweight python image from python 3 9 slim \# set the working directory workdir /app \# install dependencies copy requirements txt run pip install no cache dir r requirements txt \# copy the application code copy \# expose the port flask runs on expose 5000 \# start the flask app cmd \["python", "app py"] 7 4 развертывание через back4app web deployment подключите ваш репозиторий github убедитесь, что ваш код загружен в github настройте параметры развертывания в панели управления back4app используйте функцию web deployment для связывания вашего репозитория (например, basic crud app flask ) и выберите вашу ветку определите команды сборки укажите команду сборки (например, pip install r requirements txt ) и местоположение вашего приложения развертывание нажмите deploy и следите за журналами, пока ваше приложение не станет доступным шаг 8 – завершение и будущие направления отличная работа! вы успешно создали приложение crud на основе flask, интегрированное с back4app вы создали проект под названием basic crud app flask , определили модели данных для элементов и пользователей и управляли своим бэкендом через интерфейс администратора back4app кроме того, вы подключили свое flask приложение, используя вызовы rest api, и реализовали меры безопасности что дальше? расширьте функциональность рассмотрите возможность добавления таких функций, как расширенный поиск, детальные представления элементов или обновления в реальном времени улучшите бэкенд сервисы изучите облачные функции, интегрируйте сторонние api или реализуйте контроль доступа на основе ролей углубите свои навыки посетите документацию back4app https //www back4app com/docs и другие ресурсы, чтобы дополнительно усовершенствовать ваше приложение счастливого кодирования и удачи с вашим приложением flask crud!