DevGang
Авторизоваться

Как настроить внутренний сервер с Flask для вашего полностекового приложения

При создании полнофункционального приложения важно понимать, что эти приложения состоят из двух основных компонентов: внешнего интерфейса (то, что пользователи видят и с чем взаимодействуют) и внутреннего интерфейса (который обрабатывает логику, взаимодействие с базой данных и связь между внешним интерфейсом и сервером).

В этом посте я расскажу вам, как настроить внутренний сервер с помощью Flask, легкого и универсального веб-фреймворка Python. Хотя мы не будем рассматривать полную настройку стека, это даст вам прочную основу для создания серверной части вашего приложения.

Для начала вам необходимо установить Flask. Вы можете сделать это, выполнив следующую команду в своем терминале:

pip install Flask

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

  • app.py — основная точка входа вашего приложения.
  • config.py — для хранения настроек конфигурации.
  • models.py — место, где живут модели вашей базы данных.
  • seed.py — необязательно, но полезно для заполнения вашей базы данных исходными данными.

Давайте разберем эти файлы:

В файле config.py вы определяете настройки вашего приложения. Это включает в себя настройку базы данных и включение совместного использования ресурсов между источниками (CORS) для связи между вашим интерфейсом и сервером. CORS имеет решающее значение, когда ваш интерфейс и серверная часть размещены в разных доменах, что позволяет им безопасно взаимодействовать.

Вот базовый пример того, как может выглядеть ваш config.py:

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SECRET_KEY'] = 'edikeyted'

account_sid = 'AC23debc44a9e96efddf2d1e91b210f9ec'
auth_token = '7b61474dd955a4b6a31a8ccde84d3bce'
client = Client(account_sid, auth_token)


app.json.compact = False

# Define metadata, instantiate db
metadata = MetaData(naming_convention={
    "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
})
db = SQLAlchemy(metadata=metadata)
migrate = Migrate(app, db)
db.init_app(app)

# Instantiate REST API
api = Api(app)

# Instantiate CORS
CORS(app, resources={r"/*": {"origins": "*"}}, supports_credentials=True)

В файле app.py вы определяете маршруты (или конечные точки), которые обрабатывают запросы от внешнего интерфейса. Например, если в вашей базе данных есть таблица собак и вы хотите получить информацию о конкретных собаках по их породе, вы можете создать такую ​​конечную точку:

class GetDogsByBreed(Resource):
    def get(self, breed):
        dogs = Dogs.query.filter(Dogs.breed == breed).all()
        dogs_dict_list = [dog.to_dict() for dog in dogs]  # Convert to JSON-friendly format
        return dogs_dict_list, 200

api.add_resource(GetDogsByBreed, '/dogs/<string:breed>')

if __name__ == '__main__':
    app.run(debug=True)

В приведенном выше примере класс GetDogsByBreed обрабатывает запросы GET для извлечения собак определенной породы из базы данных. Он принимает породу в качестве параметра из внешнего интерфейса, запрашивает базу данных на наличие соответствующих записей, преобразует их в формат JSON и отправляет данные обратно во внешний интерфейс.

Это всего лишь один пример того, как вы можете структурировать свой бэкэнд с помощью Flask. Получив эту базовую настройку, вы можете расширить ее, добавив дополнительные маршруты, интегрировав аутентификацию и подключив ее к вашему интерфейсу, созданному с помощью React.

Настройка серверной части полнофункционального приложения является важным шагом в процессе разработки. Организовав свой код, правильно настроив приложение и создав эффективные конечные точки, вы окажетесь на пути к созданию надежного и масштабируемого приложения. В будущих публикациях вы можете подробнее рассказать об этом, рассказав о том, как подключить серверную часть Flask к интерфейсу React или развернуть полнофункциональное приложение.

Не стесняйтесь экспериментировать с этой настройкой и настраивать ее в соответствии с потребностями вашего конкретного проекта. Приятного кодирования!

Источник:

#Flask #Python
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу