Генератор документации Django админки
Приложение Django admindocs извлекает документацию из docstring моделей, представлений, тегов шаблонов и фильтров шаблонов для любого приложения в INSTALLED_APPS и делает эту документацию доступной из Django admin.
Обзор
Для активации admindocs, вам необходимо выполнить следующие действия:
- Добавьте
django.contrib.admindocsв свойINSTALLED_APPS. - Добавьте
path('admin/doc/', include('django.contrib.admindocs.urls'))в свойurlpatterns. Убедитесь, что оно включено перед записью'admin/', чтобы запросы к/admin/doc/не обрабатывались последней записью. - Установите пакет docutils 0.19+.
-
Необязательно: Для использования закладок admindocs необходимо установить
django.contrib.admindocs.middleware.XViewMiddleware.
После выполнения этих шагов вы можете начать просмотр документации, перейдя в свой интерфейс админки и нажав на ссылку «Документация» в правом верхнем углу страницы.
Справочные инструменты документации
В ваших docstring можно использовать следующий специальный разметку для создания гиперссылок на другие компоненты:
Компонент Django | Роли reStructuredText |
|---|---|
Модели |
|
Представления |
|
Теги шаблонов |
|
Фильтры шаблонов |
|
Шаблоны |
|
Каждый из них поддерживает пользовательский текст ссылки в формате :role:`link text <link>`. Например, :tag:`block <built_in-block>`.
Добавлена поддержка пользовательского текста ссылки.
Справочник по моделям
Раздел модели на странице admindocs описывает каждую модель, к которой у пользователя есть доступ, а также все поля, свойства и методы, доступные для неё. Связи с другими моделями отображаются как гиперссылки. Описания берутся из атрибутов help_text полей или из docstring методов модели.
Модель с полезной документацией может выглядеть так:
class BlogEntry(models.Model):
"""
Stores a single blog entry, related to :model:`blog.Blog` and
:model:`auth.User`.
"""
slug = models.SlugField(help_text="A short label, generally used in URLs.")
author = models.ForeignKey(
User,
models.SET_NULL,
blank=True,
null=True,
)
blog = models.ForeignKey(Blog, models.CASCADE)
...
def publish(self):
"""Makes the blog entry live on the site."""
...
Доступ ограничен только пользователям с правами просмотра или изменения модели.
Справочник по представлениям
Каждая ссылка в вашем сайте имеет отдельную запись на странице admindocs, и нажатие на конкретную ссылку покажет вам соответствующее представление. Полезные вещи, которые вы можете документировать в docstring функции представления, включают:
- Краткое описание того, что делает представление.
- Контекст, или список переменных, доступных в шаблоне представления.
- Имя шаблона или шаблонов, используемых для этого представления.
Например:
from django.shortcuts import render
from myapp.models import MyModel
def my_view(request, slug):
"""
Display an individual :model:`myapp.MyModel`.
**Context**
``mymodel``
An instance of :model:`myapp.MyModel`.
**Template:**
:template:`myapp/my_template.html`
"""
context = {"mymodel": MyModel.objects.get(slug=slug)}
return render(request, "myapp/my_template.html", context)
Справочник по шаблонам
Хотя admindocs не включает места для документирования шаблонов самих по себе, если вы используете синтаксис :template:`path/to/template.html` в docstring, полученная страница проверит путь этого шаблона с помощью загрузчиков шаблонов Django’s загрузчиков шаблонов. Это может быть удобным способом проверить, существует ли указанный шаблон, и показать, где на файловой системе хранится этот шаблон.
Включенные закладки
На странице admindocs доступна одна закладка:
- Документация для этой страницы
-
Перемещает вас с любой страницы на документацию для представления, которое генерирует эту страницу.
Использование этой закладки требует установки XViewMiddleware и входа в Django admin в качестве User с is_staff, установленным на True.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.2/ref/contrib/admin/admindocs/