“Django/docs/3.0.x/ref/contrib/admin/admindocs”的版本间差异
来自菜鸟教程
Django/docs/3.0.x/ref/contrib/admin/admindocs
(autoload) |
小 (Page commit) |
||
第1行: | 第1行: | ||
+ | {{DISPLAYTITLE:Django 管理文档生成器 — Django 文档}} | ||
<div id="module-django.contrib.admindocs" class="section"> | <div id="module-django.contrib.admindocs" class="section"> | ||
<span id="the-django-admin-documentation-generator"></span> | <span id="the-django-admin-documentation-generator"></span> | ||
− | = | + | = Django 管理文档生成器 = |
− | Django | + | Django 的 [[#module-django.contrib.admindocs|admindocs]] 应用程序从 [[#id1|:setting:`INSTALLED_APPS`]] 中的任何应用程序的模型、视图、模板标签和模板过滤器的文档字符串中提取文档,并从 [[index.html#module-django.contrib.admin|中提供该文档]Django 管理员]] 。 |
− | |||
− | [[ | ||
− | [[. | ||
<div id="overview" class="section"> | <div id="overview" class="section"> | ||
− | == | + | == 概览 == |
− | + | 要激活 [[#module-django.contrib.admindocs|admindocs]],您需要执行以下操作: | |
− | |||
− | * | + | * 将 [[#module-django.contrib.admindocs|django.contrib.admindocs]] 添加到您的 [[#id3|:setting:`INSTALLED_APPS`]]。 |
− | * | + | * 将 <code>path('admin/doc/', include('django.contrib.admindocs.urls'))</code> 添加到您的 <code>urlpatterns</code>。 确保在 ''的 <code>'admin/'</code> 条目之前包含'' ,以便对 <code>/admin/doc/</code> 的请求不会被后一个条目处理。 |
− | * | + | * 安装 docutils Python 模块 (https://docutils.sourceforge.io/)。 |
− | * ''' | + | * '''可选:''' 使用 admindocs 书签需要安装 <code>django.contrib.admindocs.middleware.XViewMiddleware</code>。 |
− | + | 完成这些步骤后,您可以通过转到管理界面并单击页面右上角的“文档”链接来开始浏览文档。 | |
− | |||
− | |||
第29行: | 第24行: | ||
<div id="documentation-helpers" class="section"> | <div id="documentation-helpers" class="section"> | ||
− | == | + | == 文档助手 == |
− | + | 可以在您的文档字符串中使用以下特殊标记轻松创建指向其他组件的超链接: | |
− | |||
{| | {| | ||
− | !width="31%"| Django | + | !width="31%"| Django 组件 |
− | !width="69%"| | + | !width="69%"| 重构文本角色 |
|- | |- | ||
− | | | + | | 型号 |
| <code>:model:`app_label.ModelName`</code> | | <code>:model:`app_label.ModelName`</code> | ||
|- | |- | ||
− | | | + | | 观看次数 |
| <code>:view:`app_label.view_name`</code> | | <code>:view:`app_label.view_name`</code> | ||
|- | |- | ||
第58行: | 第52行: | ||
<div id="model-reference" class="section"> | <div id="model-reference" class="section"> | ||
− | == | + | == 型号参考 == |
− | + | <code>admindocs</code> 页面的 '''models''' 部分描述了系统中的每个模型及其上可用的所有字段、属性和方法。 与其他模型的关系显示为超链接。 描述是从字段的 <code>help_text</code> 属性或模型方法的文档字符串中提取的。 | |
− | |||
− | |||
− | |||
<div class="versionchanged"> | <div class="versionchanged"> | ||
− | + | <span class="versionmodified changed"> 2.2 版更改: </span> 旧版本不显示模型属性。 | |
</div> | </div> | ||
− | + | 带有有用文档的模型可能如下所示: | |
<div class="highlight-default notranslate"> | <div class="highlight-default notranslate"> | ||
第77行: | 第68行: | ||
<div class="highlight"> | <div class="highlight"> | ||
− | < | + | <syntaxhighlight lang="python">class BlogEntry(models.Model): |
− | + | """ | |
Stores a single blog entry, related to :model:`blog.Blog` and | Stores a single blog entry, related to :model:`blog.Blog` and | ||
:model:`auth.User`. | :model:`auth.User`. | ||
− | + | """ | |
− | slug = models.SlugField(help_text= | + | slug = models.SlugField(help_text="A short label, generally used in URLs.") |
author = models.ForeignKey( | author = models.ForeignKey( | ||
User, | User, | ||
第92行: | 第83行: | ||
def publish(self): | def publish(self): | ||
− | + | """Makes the blog entry live on the site.""" | |
− | ...</ | + | ...</syntaxhighlight> |
</div> | </div> | ||
第102行: | 第93行: | ||
<div id="view-reference" class="section"> | <div id="view-reference" class="section"> | ||
− | == | + | == 查看参考 == |
− | + | 您站点中的每个 URL 在 <code>admindocs</code> 页面中都有一个单独的条目,单击给定的 URL 将显示相应的视图。 您可以在视图函数文档字符串中记录的有用内容包括: | |
− | |||
− | |||
− | * | + | * 视图功能的简短描述。 |
− | * | + | * '''context''',或视图模板中可用的变量列表。 |
− | * | + | * 用于该视图的模板或模板的名称。 |
− | + | 例如: | |
<div class="highlight-default notranslate"> | <div class="highlight-default notranslate"> | ||
第118行: | 第107行: | ||
<div class="highlight"> | <div class="highlight"> | ||
− | < | + | <syntaxhighlight lang="python">from django.shortcuts import render |
from myapp.models import MyModel | from myapp.models import MyModel | ||
def my_view(request, slug): | def my_view(request, slug): | ||
− | + | """ | |
Display an individual :model:`myapp.MyModel`. | Display an individual :model:`myapp.MyModel`. | ||
第134行: | 第123行: | ||
:template:`myapp/my_template.html` | :template:`myapp/my_template.html` | ||
− | + | """ | |
context = {'mymodel': MyModel.objects.get(slug=slug)} | context = {'mymodel': MyModel.objects.get(slug=slug)} | ||
− | return render(request, 'myapp/my_template.html', context)</ | + | return render(request, 'myapp/my_template.html', context)</syntaxhighlight> |
</div> | </div> | ||
第145行: | 第134行: | ||
<div id="template-tags-and-filters-reference" class="section"> | <div id="template-tags-and-filters-reference" class="section"> | ||
− | == | + | == 模板标签和过滤器参考 == |
− | + | '''tags''' 和 '''filters''' <code>admindocs</code> 部分描述了 Django 附带的所有标签和过滤器(实际上, [[../../../templates/builtins#ref-templates-builtins-tags|内置标签参考]] 和 [[../../../templates/builtins#ref-templates-builtins-filters|内置过滤器参考]] 文档直接来自这些页面)。 您创建或由第三方应用程序添加的任何标签或过滤器也将显示在这些部分中。 | |
− | |||
− | |||
− | |||
第156行: | 第142行: | ||
<div id="template-reference" class="section"> | <div id="template-reference" class="section"> | ||
− | == | + | == 模板参考 == |
− | + | 虽然 <code>admindocs</code> 不包含单独记录模板的位置,但如果您在文档字符串中使用 <code>:template:`path/to/template.html`</code> 语法,生成的页面将使用 Django 的 模板加载器验证该模板的路径[ X216X]。 这是检查指定模板是否存在以及显示模板存储在文件系统上的位置的一种方便的方法。 | |
− | |||
− | |||
− | Django | ||
− | |||
− | |||
第170行: | 第151行: | ||
<span id="admindocs-bookmarklets"></span> | <span id="admindocs-bookmarklets"></span> | ||
− | == | + | == 包括书签 == |
− | + | <code>admindocs</code> 页面提供了一个书签: | |
− | ; | + | ; 此页面的文档 |
− | : | + | : 将您从任何页面跳转到生成该页面的视图的文档。 |
− | + | 使用此书签需要安装 <code>XViewMiddleware</code> 并且您以 [[../../auth#django.contrib.auth.models|User]] 的身份登录 [[../index#module-django.contrib|Django admin]],并将 [[../../auth#django.contrib.auth.models.User|is_staff]] 设置为 <code>True</code>。 | |
− | |||
− | [[../ | ||
− | [[../../auth#django.contrib.auth.models.User| | ||
第186行: | 第164行: | ||
</div> | </div> | ||
+ | <div class="clearer"> | ||
− | [[Category:Django 3.0.x | + | |
+ | |||
+ | </div> | ||
+ | |||
+ | [[Category:Django 3.0.x 文档]] |
2021年10月31日 (日) 04:09的最新版本
Django 管理文档生成器
Django 的 admindocs 应用程序从 :setting:`INSTALLED_APPS` 中的任何应用程序的模型、视图、模板标签和模板过滤器的文档字符串中提取文档,并从 中提供该文档]Django 管理员 。
概览
要激活 admindocs,您需要执行以下操作:
- 将 django.contrib.admindocs 添加到您的 :setting:`INSTALLED_APPS`。
- 将
path('admin/doc/', include('django.contrib.admindocs.urls'))
添加到您的urlpatterns
。 确保在 的'admin/'
条目之前包含 ,以便对/admin/doc/
的请求不会被后一个条目处理。 - 安装 docutils Python 模块 (https://docutils.sourceforge.io/)。
- 可选: 使用 admindocs 书签需要安装
django.contrib.admindocs.middleware.XViewMiddleware
。
完成这些步骤后,您可以通过转到管理界面并单击页面右上角的“文档”链接来开始浏览文档。
文档助手
可以在您的文档字符串中使用以下特殊标记轻松创建指向其他组件的超链接:
Django 组件 | 重构文本角色 |
---|---|
型号 | :model:`app_label.ModelName`
|
观看次数 | :view:`app_label.view_name`
|
模板标签 | :tag:`tagname`
|
模板过滤器 | :filter:`filtername`
|
模板 | :template:`path/to/template.html`
|
型号参考
admindocs
页面的 models 部分描述了系统中的每个模型及其上可用的所有字段、属性和方法。 与其他模型的关系显示为超链接。 描述是从字段的 help_text
属性或模型方法的文档字符串中提取的。
2.2 版更改: 旧版本不显示模型属性。
带有有用文档的模型可能如下所示:
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."""
...
查看参考
您站点中的每个 URL 在 admindocs
页面中都有一个单独的条目,单击给定的 URL 将显示相应的视图。 您可以在视图函数文档字符串中记录的有用内容包括:
- 视图功能的简短描述。
- context,或视图模板中可用的变量列表。
- 用于该视图的模板或模板的名称。
例如:
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`
语法,生成的页面将使用 Django 的 模板加载器验证该模板的路径[ X216X]。 这是检查指定模板是否存在以及显示模板存储在文件系统上的位置的一种方便的方法。
包括书签
admindocs
页面提供了一个书签:
- 此页面的文档
- 将您从任何页面跳转到生成该页面的视图的文档。
使用此书签需要安装 XViewMiddleware
并且您以 User 的身份登录 Django admin,并将 is_staff 设置为 True
。