РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
108 of 307 menu

Атрибут base_url

Атрибут base_url применяется к объекту запроса Request и возвращает базовую часть URL, включающую схему, хост и порт. Значение представляет собой объект URL из библиотеки Starlette. Атрибут доступен внутри обработчиков маршрутов через параметр request.

Синтаксис

request.base_url

Пример

Давайте выведем базовый URL запроса в обработчике корневого маршрута:

from fastapi import FastAPI, Request app = FastAPI() @app.get('/') def index(request: Request): return {'base_url': str(request.base_url)}

Результат выполнения кода для адреса http://127.0.0.1:8000/:

{"base_url": "http://127.0.0.1:8000/"}

Пример

Давайте сравним base_url и url для одного и того же запроса:

from fastapi import FastAPI, Request app = FastAPI() @app.get('/user/{name}') def user(request: Request, name: str): return { 'base_url': str(request.base_url), 'url': str(request.url), 'name': name }

Результат выполнения кода для адреса http://127.0.0.1:8000/user/abcde?active=true:

{ "base_url": "http://127.0.0.1:8000/", "url": "http://127.0.0.1:8000/user/abcde?active=true", "name": "abcde" }

Пример

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

<+python+> from fastapi import FastAPI, Request app = FastAPI() @app.get('/article/{slug}') def article(request: Request, slug: str): link = str(request.base_url) + 'article/' + slug return {'link': link} <-python+>

Результат выполнения кода для адреса http://127.0.0.1:8000/article/hello:

{"link": "http://127.0.0.1:8000/article/hello"}

Смотрите также

  • класс Request,
    который представляет объект входящего запроса
  • атрибут url,
    который возвращает полный URL запроса
  • атрибут path,
    который возвращает путь запроса без схемы и хоста
  • атрибут headers,
    который возвращает заголовки входящего запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить