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编程中实现迭代器的一些技巧小结
Jun 21 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
django实现web接口 python3模拟Post请求方式
Nov 19 Python
Python利用matplotlib绘制约数个数统计图示例
Nov 26 Python
python装饰器代替set get方法实例
Dec 19 Python
Python基础之高级变量类型实例详解
Jan 03 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
去除python中的字符串空格的简单方法
Dec 22 Python
PyTorch中的torch.cat简单介绍
Mar 17 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
尝试在让script的type属性等于text/html
2013/01/15 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
[00:16]热血竞技场
2019/03/06 DOTA
python抓取网页中的图片示例
2014/02/28 Python
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Python批量更改文件名的实现方法
2017/10/29 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
python实现图片转字符小工具
2019/04/30 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
美国著名手表网站:Timepiece
2017/11/15 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
Python的两道面试题
2013/06/29 面试题
大学生最新职业生涯规划书范文
2014/01/12 职场文书
教师个人剖析材料
2014/02/05 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
中专生自荐信
2014/06/25 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
预备党员考察意见范文
2015/06/01 职场文书
社区宣传标语口号
2015/12/26 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技