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自动化测试之从命令行运行测试用例with verbosity
Sep 28 Python
Python实现的文本编辑器功能示例
Jun 30 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
Django如何实现内容缓存示例详解
Sep 24 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
用 Python 连接 MySQL 的几种方式详解
Apr 04 Python
python3.5绘制随机漫步图
Aug 27 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
Apr 27 Python
python和php哪个更适合写爬虫
Jun 22 Python
基于Python pyecharts实现多种图例代码解析
Aug 10 Python
python 实时调取摄像头的示例代码
Nov 25 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学习笔记(三)操作符与控制结构
2011/08/06 PHP
php设置编码格式的方法
2013/03/05 PHP
2014过年倒计时示例
2014/01/31 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
AJAX的使用方法详解
2017/04/29 PHP
JavaScript的递归之递归与循环示例介绍
2013/08/05 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
全球性的在线购物网站:Zapals
2017/03/22 全球购物
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
茶叶店创业计划书范文
2014/01/19 职场文书
物流创业计划书
2014/02/01 职场文书
对标管理实施方案
2014/03/12 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
研究生简历自我评
2015/03/11 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
开业庆典致辞
2015/08/01 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
python神经网络编程之手写数字识别
2021/05/08 Python
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python