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调用cmd复制文件代码分享
Dec 27 Python
仅利用30行Python代码来展示X算法
Apr 01 Python
Python中使用asyncio 封装文件读写
Sep 11 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
将字典转换为DataFrame并进行频次统计的方法
Apr 08 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
django中使用POST方法获取POST数据
Aug 20 Python
pytorch 指定gpu训练与多gpu并行训练示例
Dec 31 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
Apr 30 Python
pytorch加载自己的图像数据集实例
Jul 07 Python
python生成随机数、随机字符、随机字符串
Apr 06 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
详解vue组件基础
2018/05/04 Javascript
vue filters的使用详解
2018/06/11 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
关于python 跨域处理方式详解
2020/03/28 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
Python调用C语言程序方法解析
2020/07/07 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
送餐员岗位职责范本
2014/02/21 职场文书
广告传媒专业应届生求职信
2014/03/01 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
感情真挚的毕业生求职信
2014/07/19 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL
Redis分布式锁的7种实现
2022/04/01 Redis
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技