溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django Admin文檔生成器使用詳解

發布時間:2020-09-16 23:04:07 來源:腳本之家 閱讀:178 作者:NAVYSUMMER 欄目:開發技術

前言

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文檔生成器使用詳解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女