django Admin文档生成器使用详解

yipeiwu_com7年前Python基础

前言

Django的admindocs应用可以从模型、视图、模板标签等地方获得文档内容。

一、概览

要激活admindocs,请按下面的步骤操作:

  • 在INSTALLED_APPS内添加django.contrib.admindocs
  • 在urlpatterns内添加url(r'^admin/doc/',include('django.contrib.admindocs.urls'))。确保它处于r'^admin/'条目之前,原因你懂的。
  • 安装Python的docutils模块(http://docutils.sf.net/)(pip3 install docutils)
  • 可选:想使用admindocs的书签小工具,需要安装django.contrib.admindocs.middleware.XViewMiddleware

如果上述步骤顺利完成,那么你可以从admin界面访问doc界面,也可以直接访问/admin/doc,如下图:

它看起来是下面的样子:

下面的这些特殊标记,可帮助你在文档字符串中,快速创建指向其它组件的链接:

二、模型

在doc页面的模型部分,列出了所有的模型,点击可以查看具体的字段等细节信息。信息主要来自字段的help_txt部分和模型方法的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."""
    ...

三、视图

站点内的每个URL都会在doc内享有一个页面,点击某个URL将会展示对应的视图信息。主要包括下面这些信息,请尽量丰富它们:

  • 视图功能的简单描述
  • 上下文环境,或者视图模块里的变量列表
  • 视图内使用的模板

例如:

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)

四、模板标签和过滤器

所有Django内置的或者你自定义的或者第三方app提供的标签和过滤器都将在页面内展示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详谈python http长连接客户端

背景: 线上机器,需要过滤access日志,发送给另外一个api 期初是单进程,效率太低,改为多进程发送后,查看日志中偶尔会出现异常错误(忘记截图了。。。) 总之就是端口不够用了报错 原...

Python3基础之条件与循环控制实例解析

本文实例形式讲解了Python3的条件与循环控制语句及其用法,是学习Python所必须掌握的重要知识点,现共享给大家供大家参考。具体如下: 一般来说Python的流程控制语句包括:if条...

解决在Python编辑器pycharm中程序run正常debug错误的问题

解决在Python编辑器pycharm中程序run正常debug错误的问题

初学Python,写了一小段程序,在pycharm中debug一直报错,在网上搜了很久,尝试多种方法后还是没有用。 尝试了很久之后,发现这个问题是由于: 1、程序中有中文注释。 2、程...

Python中字符串的常见操作技巧总结

本文实例总结了Python中字符串的常见操作技巧。分享给大家供大家参考,具体如下: 反转一个字符串 >>> S = 'abcdefghijklmnop' >&...

Python K最近邻从原理到实现的方法

Python K最近邻从原理到实现的方法

本来这篇文章是5月份写的,今天修改了一下内容,就成今天发表的了,CSDN这是出BUG了还是什么改规则了。。。 引文:决策树和基于规则的分类器都是积极学习方法(eager learner)...