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中的多重装饰器
Apr 11 Python
通过Python实现自动填写调查问卷
Sep 06 Python
解决python3 pika之连接断开的问题
Dec 18 Python
详解django+django-celery+celery的整合实战
Mar 19 Python
详解Python中is和==的区别
Mar 21 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
python datetime处理时间小结
Apr 16 Python
python读取yaml文件后修改写入本地实例
Apr 27 Python
python在一个范围内取随机数的简单实例
Aug 16 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
Python pyecharts案例超市4年数据可视化分析
Aug 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+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
javascript常用功能汇总
2015/07/05 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
js选择器全面解析
2016/06/27 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
基于python编写的微博应用
2014/10/17 Python
Python遍历目录的4种方法实例介绍
2015/04/13 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
python框架中flask知识点总结
2018/08/17 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
计划生育宣传标语
2014/06/21 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
六年级情感作文之500字
2019/10/23 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python