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实现博客上进行自动翻页
Aug 23 Python
python监控键盘输入实例代码
Feb 09 Python
详解TensorFlow查看ckpt中变量的几种方法
Jun 19 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
Jan 29 Python
python快速排序的实现及运行时间比较
Nov 22 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
如何在Python 游戏中模拟引力
Mar 27 Python
使用Keras加载含有自定义层或函数的模型操作
Jun 10 Python
python实现人工蜂群算法
Sep 18 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
python实现图片转字符画
Feb 19 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
咖啡与牛奶
2021/03/03 冲泡冲煮
php数组的概述及分类与声明代码演示
2013/02/26 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
JavaScript模块详解
2017/12/18 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
用Python编写web API的教程
2015/04/30 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
对python中的argv和argc使用详解
2018/12/15 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
django框架创建应用操作示例
2019/09/26 Python
python语言的优势是什么
2020/06/17 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
财务工作个人求职的自我评价
2013/12/19 职场文书
见习期自我鉴定
2014/01/31 职场文书
浪费资源的建议书
2014/03/12 职场文书
标准版离职证明书
2014/09/12 职场文书
会计求职信怎么写
2015/03/20 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
中秋晚会致辞
2015/07/31 职场文书
PHP实现两种排课方式
2021/06/26 PHP