django Admin文档生成器使用详解


Posted in Python onJuly 22, 2019

前言

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,如下图:

django Admin文档生成器使用详解

它看起来是下面的样子:

django Admin文档生成器使用详解

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

django Admin文档生成器使用详解

二、模型

在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."""
    ...

django Admin文档生成器使用详解

django Admin文档生成器使用详解

三、视图

站点内的每个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 Admin文档生成器使用详解

四、模板标签和过滤器

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

django Admin文档生成器使用详解

django Admin文档生成器使用详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python采用getopt解析命令行输入参数实例
Sep 30 Python
python装饰器decorator介绍
Nov 21 Python
Python判断操作系统类型代码分享
Nov 22 Python
Python命令行参数解析模块optparse使用实例
Apr 13 Python
Python中数字以及算数运算符的相关使用
Oct 12 Python
python下10个简单实例代码
Nov 15 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
Python importlib模块重载使用方法详解
Oct 13 Python
使用tensorflow 实现反向传播求导
May 26 Python
django表单的Widgets使用详解
Jul 22 #Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 #Python
超简单的Python HTTP服务
Jul 22 #Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 #Python
django框架CSRF防护原理与用法分析
Jul 22 #Python
全面了解django的缓存机制及使用方法
Jul 22 #Python
python logging模块书写日志以及日志分割详解
Jul 22 #Python
You might like
PHP中的串行化变量和序列化对象
2006/09/05 PHP
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
php无限级分类实现方法分析
2016/10/19 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
python中base64加密解密方法实例分析
2015/05/16 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
python 随机森林算法及其优化详解
2019/07/11 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
关于Java finally的面试题
2016/04/27 面试题
幼儿园小班植树节活动方案
2014/03/04 职场文书
买房委托公证书
2014/04/08 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
Golang 切片(Slice)实现增删改查
2022/04/22 Golang
Python实现聚类K-means算法详解
2022/07/15 Python