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

Атрибут script_name

Атрибут script_name класса Request возвращает строку, содержащую начальный сегмент пути URL, который был «съеден» сервером или WSGI-окружением при монтировании приложения. Иными словами, это префикс адреса, под которым приложение запущено. Если приложение работает в корне домена, значение атрибута будет пустой строкой ''.

Значение берётся из ключа SCRIPT_NAME словаря environ и часто используется совместно с атрибутами path и fullpath для построения корректных ссылок.

Синтаксис

request.script_name

Пример

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

from bottle import Bottle, request app = Bottle() @app.route('/') def index(): return request.script_name

При запуске приложения в корне домена результат выполнения кода будет таким:

""

Пример

Если приложение смонтировано по адресу /user, значение атрибута будет равно этому префиксу. Давайте соберём полный путь, объединив script_name и path:

from bottle import Bottle, request app = Bottle() @app.route('/') def index(): res = request.script_name + request.path return res

Для запроса к адресу /user/article результат выполнения кода будет таким:

"/user/article"

Пример

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

from bottle import Bottle, request, template app = Bottle() @app.route('/') def index(): return template('index', prefix=request.script_name)

Содержимое шаблона index.tpl:

<a href="{{ prefix }}/article">article</a>

Для приложения, смонтированного по адресу /user, результат выполнения кода будет таким:

<a href="/user/article">article</a>

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

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