ДокументацияНа основе файлов
Динамические маршруты
Сегмент пути, записанный в квадратных скобках, соответствует любому значению и передает его странице или обработчику.
Динамические сегменты
blog/[slug].nexy обслуживает /blog/{slug}. На странице объявите сегмент как свойство; в обработчике Python примите его в качестве аргумента.
slug: prop[str]<h1>{{ slug }}</h1>async def GET(id: int): return {"id": id}Типизированные сегменты
Аннотация определяет тип.
| Где | Конверсия |
|---|---|
.py обработчик |
любая аннотация типа FastAPI (int, UUID, Enum...) |
.nexy страницы |
int и float конвертируются; все остальное остается строкой |
Значение, не соответствующее аннотации, - не найдено: /api/users/abc отвечает 404, поскольку динамический маршрут захватывает любой URL-адрес, а URL-адрес, который невозможно преобразовать, просто не существует. См. Проверка и ошибки.
Всеобъемлющие сегменты
docs/[...path].nexy обслуживает /docs/{path:path}. Остальные сегменты поступают как одна строка, включая косые черты.
path: prop[str]<pre>{{ path }}</pre>/docs/a/b/c дает path == "a/b/c".
Группы маршрутов
Каталог в скобках упорядочивает файлы, не отображаясь в URL-адресе. Он по-прежнему участвует в наследовании: его layout.* и dependencies.py применяются к тому, что находится внутри.
Используйте группы, чтобы придать разным разделам разные макеты, не меняя их URL-адреса.
Приоритет
Статические маршруты имеют преимущество над динамическими, а динамические над универсальными: /blog/new соответствует blog/new.nexy перед blog/[slug].nexy.
Один файл на каждый URL
Регистрируются два файла, которые разрешаются по одному и тому же URL-адресу. Не помещайте blog.nexy рядом с blog/index.nexy и не смешивайте index.nexy и index.py для одного и того же пути.