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实现进程间通信简单实例
Jul 23 Python
spyder常用快捷键(分享)
Jul 19 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
详解python中的线程
Feb 10 Python
对pandas replace函数的使用方法小结
May 18 Python
django框架之cookie/session的使用示例(小结)
Oct 15 Python
python七夕浪漫表白源码
Apr 05 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
如何使用 Flask 做一个评论系统
Nov 27 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 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生成月历代码
2007/06/14 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Python实现建立SSH连接的方法
2015/06/03 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
西部世纪.net笔试题面试题
2014/04/03 面试题
Linux机考试题
2015/10/16 面试题
国际政治个人自荐信范文
2013/11/26 职场文书
计算机网络专业自荐信
2014/07/04 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
接收函
2019/04/22 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
Python作用域和名称空间的详细介绍
2022/04/13 Python