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 测试实现方法
Dec 24 Python
Python常见文件操作的函数示例代码
Nov 15 Python
Python记录详细调用堆栈日志的方法
May 05 Python
python处理大数字的方法
May 27 Python
详解python 发送邮件实例代码
Dec 22 Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
python Opencv计算图像相似度过程解析
Dec 03 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
Dec 31 Python
OpenCV Python实现拼图小游戏
Mar 23 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 DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
javascript延时加载之defer测试
2012/12/28 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
JS实现标签滚动切换效果
2017/12/25 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
Python3.5多进程原理与用法实例分析
2019/04/05 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
中餐厅经理岗位职责
2014/04/11 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
2014年德育工作总结
2014/11/20 职场文书
甲午风云观后感
2015/06/02 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
python playwrigh框架入门安装使用
2022/07/23 Python