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将文本转换成图片输出的方法
Apr 28 Python
浅谈Python数据类型判断及列表脚本操作
Nov 04 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 Python
Python实现简单的HttpServer服务器示例
Sep 25 Python
Python面向对象类继承和组合实例分析
May 28 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
使用Django搭建网站实现商品分页功能
May 22 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 Python
Python可视化神器pyecharts绘制水球图
Jul 07 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 strtok()函数的优点分析
2010/03/02 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python使用folium库绘制地图点击框
2018/09/21 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
python 深度学习中的4种激活函数
2020/09/18 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
高级工程师英文求职信
2014/03/19 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
奥巴马的演讲稿
2014/05/15 职场文书
书法大赛策划方案
2014/06/04 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
婚育证明样本
2015/06/16 职场文书
环保守法证明
2015/06/24 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python