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实现的防DDoS脚本
Feb 08 Python
Python实现抢购IPhone手机
Feb 07 Python
Python基本数据结构之字典类型dict用法分析
Jun 08 Python
django mysql数据库及图片上传接口详解
Jul 18 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
Python进程的通信Queue、Pipe实例分析
Mar 30 Python
Django更新models数据库结构步骤
Apr 01 Python
Python如何通过百度翻译API实现翻译功能
Apr 02 Python
Python基于httpx模块实现发送请求
Jul 07 Python
Python读取图像并显示灰度图的实现
Dec 01 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
Aug 02 Python
Matplotlib绘制条形图的方法你知道吗
Mar 21 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中通过smtp发邮件的类,测试通过
2007/01/22 PHP
php checkbox 取值详细说明
2010/08/19 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP之header函数详解
2021/03/02 PHP
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
详解A标签中href=""的几种用法
2017/08/20 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
图解javascript作用域链
2019/05/27 Javascript
python 切片和range()用法说明
2013/03/24 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
python 接收处理外带的参数方法
2018/12/03 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python分布式编程实现过程解析
2019/11/08 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
卫校护理专业毕业生求职信
2013/11/26 职场文书
亲属关系公证书
2014/04/08 职场文书
说明书怎么写
2014/05/06 职场文书
中药学专业求职信
2014/05/31 职场文书
留守儿童工作方案
2014/06/02 职场文书
企业口号大全
2014/06/12 职场文书
师范生见习总结范文
2015/06/23 职场文书
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers