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

Основы FastAPI

FastAPI — это современный фреймворк, который позволяет создавать быстрые и эффективные приложения с использованием языка Python. Он основан на стандарте OpenAPI и предоставляет простой и интуитивно понятный способ создания RESTful API.

Установка FastAPI

Перед началом работы убедитесь, что у вас установлен Python версии 3.7 или выше. Для установки ФастАПИI выполните следующую команду в вашем терминале:

pip install fastapi uvicorn

Установка uvicorn позволит нам запускать сервер для развертывания нашего приложения.

ОНЛАЙН-ПРАКТИКУМ
КАК «ХАКНУТЬ» PYTHON С ПОМОЩЬЮ CHATGPT
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • Прямо в эфире решим типичные задачи программиста только с помощью ChatGPT
  • Возможности Python — расскажем что можно делать и сколько на этом зарабатывать?
  • Что ждет рынок программирования и почему мы решили сюда пойти

Создание простого сайта

Давайте начнем с создания простого сайта с использованием FastAPI. Мы создадим простую страницу, отображающую приветственное сообщение.

Шаг 1: инициализация проекта

Создайте новый файл с расширением .py, например, main.py, и добавьте следующий код:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")

def read_root():

return {"message": "Welcome to your first FastAPI website!"}

Этот код создает экземпляр API и определяет корневой маршрут, который возвращает приветственное сообщение в формате JSON.

Шаг 2: запуск сервера

Чтобы запустить наш сервер, выполните следующую команду в терминале:

uvicorn main:app --reload

Теперь ваш сервер запущен, и вы можете открыть браузер и перейти по адресу http://localhost:8000, чтобы увидеть ваш первый сайт.

Добавление дополнительных страниц

Теперь давайте добавим несколько дополнительных страниц к нашему сайту.

Страница о нас

Добавьте следующий код в ваш файл main.py:

@app.get("/about")

def read_about():

return {"message": "About Us Page"}

Теперь, если вы перейдете по адресу http://localhost:8000/about, вы увидите страницу «About Us».

Страница контактов

Добавьте следующий код для создания страницы контактов:

@app.get("/contact")

def read_contact():

return {"message": "Contact Us Page"}

Адрес http://localhost:8000/contact теперь будет отображать страницу контактов.

Добавление функционала книжного каталога

Добавьте следующий код в ваш файл main.py:

from pydantic import BaseModel

from typing import List

class Book(BaseModel):

title: str

author: str

pages: int

books_db = []

@app.post("/books/")

def create_book(book: Book):

books_db.append(book.dict())

return {"message": "Book added successfully"}

@app.get("/books/")

def read_books():

return books_db

@app.get("/books/{book_id}")

def read_book(book_id: int):

if book_id < len(books_db):

return books_db[book_id]

else:

return {"error": "Book not found"}

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

ОНЛАЙН-ПРАКТИКУМ
КАК «ХАКНУТЬ» PYTHON С ПОМОЩЬЮ CHATGPT

ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • Прямо в эфире решим типичные задачи программиста только с помощью ChatGPT
  • Возможности Python — расскажем что можно делать и сколько на этом зарабатывать?
  • Что ждет рынок программирования и почему мы решили сюда пойти

Пример использования

  1. Добавление книги:
    отправьте POST-запрос на /books/ с JSON-телом, содержащим информацию о книге (например, {«title»: «1984», «author»: «George Orwell», «pages»: 328}). будет добавлена в каталог.
  2. Получение списка книг:
    откройте браузер и перейдите по адресу http://localhost:8000/books/, чтобы получить список всех в каталоге.
  3. Получение информации о конкретной книге:
    откройте браузер и перейдите по адресу http://localhost:8000/books/{book_id}, где {book_id} — это идентификатор книги в каталоге.

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

Этот мини-проект демонстрирует, как можно расширять функциональность вашего приложения с помощью API, делая его более интересным и полезным для пользователей.

Заключение

В этом руководстве мы познакомились с основами создания сайтов с использованием Python и FastAPI. Мы научились инициализировать проект, добавлять маршруты и запускать сервер для развертывания нашего приложения. ФастАПИ предоставляет мощные инструменты для разработки приложений, и это только начало вашего пути в мир разработки с Python.

3-дневный курс

НАУЧИСЬ СОЗДАВАТЬ TELEGRAM-БОТОВ НА PYTHON С CHATGPT

C НУЛЯ ЗА 3 ДНЯ
  • Освой Python и нейросети и узнай, как гарантированно получить первые 10 заказов
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Создай и прокачай собственного чат-бота

Участвовать бесплатно

Вебинар
ФРИЛАНС И ПРОЕКТНАЯ РАБОТАДЛЯ PYTHON-РАЗРАБОТЧИКА
  • Подарим подборку бесплатных инструментов для написания кода

Участвовать бесплатно

3-дневный курс
НАУЧИСЬ СОЗДАВАТЬ TELEGRAM-БОТОВ НА PYTHON С CHATGPT
C НУЛЯ ЗА 3 ДНЯ
  • Освой Python и нейросети и узнай, как гарантированно получить первые 10 заказов
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Создай и прокачай собственного чат-бота
Участвовать бесплатно
Вебинар
ФРИЛАНС И ПРОЕКТНАЯ РАБОТАДЛЯ PYTHON-РАЗРАБОТЧИКА
  • Подарим подборку бесплатных инструментов для написания кода
Участвовать бесплатно