Generatorn för Django-administratörsdokumentation¶
Djangos app admindocs
hämtar dokumentation från dokumentationerna av modeller, vyer, malltaggar och mallfilter för alla appar i INSTALLED_APPS
och gör den dokumentationen tillgänglig från Django admin
.
Översikt¶
För att aktivera admindocs
måste du göra följande:
Lägg till
django.contrib.admindocs
till din :inställning:`INSTALLED_APPS`.Lägg till
path('admin/doc/', include('django.contrib.admindocs.urls'))
till dinaurlpatterns
. Se till att den inkluderas före posten'admin/'
, så att förfrågningar till/admin/doc/
inte hanteras av den senare posten.Installera paketet docutils 0.19+.
Optional: För att använda admindocs bokmärken krävs att
django.contrib.admindocs.middleware.XViewMiddleware
är installerat.
När dessa steg är slutförda kan du börja bläddra i dokumentationen genom att gå till ditt administratörsgränssnitt och klicka på länken ”Dokumentation” längst upp till höger på sidan.
Hjälp med dokumentation¶
Följande speciella markering kan användas i dina dokumentationer för att enkelt skapa hyperlänkar till andra komponenter:
Django-komponent |
reStructuredText roller |
---|---|
Modeller |
|
Vyer |
|
Malltaggar |
|
Mallfilter |
|
Mallar |
|
Var och en av dessa stöder anpassad länktext med formatet :role:`link text <link>`
. Till exempel: :tag:`block <built_in-block>`
.
Stöd för anpassad länktext har lagts till.
Referensmodell¶
Avsnittet models på sidan admindocs
beskriver varje modell som användaren har tillgång till samt alla fält, egenskaper och metoder som är tillgängliga för den. Relationer till andra modeller visas som hyperlänkar. Beskrivningarna hämtas från help_text
-attribut på fält eller från docstrings på modellmetoder.
En modell med användbar dokumentation kan se ut så här:
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."""
...
Åtkomsten begränsades till att endast tillåta användare med behörighet att visa eller ändra modellen.
Visa referens¶
Varje URL på din webbplats har en separat post på sidan admindocs
, och om du klickar på en viss URL visas motsvarande vy. Nyttiga saker som du kan dokumentera i dina vyfunktionsdokumentationer inkluderar:
En kort beskrivning av vad vyn gör.
kontext, eller en lista över variabler som är tillgängliga i vyns mall.
Namnet på den mall eller de mallar som används för den aktuella vyn.
Till exempel:
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)
Mall för referens¶
Medan admindocs
inte innehåller en plats för att dokumentera mallar i sig, om du använder syntaxen :template:`path/to/template.html
i en dokumentsträng kommer den resulterande sidan att verifiera sökvägen till den mallen med Djangos template loaders. Detta kan vara ett praktiskt sätt att kontrollera om den angivna mallen finns och att visa var i filsystemet den mallen är lagrad.
Inkluderade Bookmarklets¶
Ett bokmärke finns tillgängligt från sidan admindocs
:
- Dokumentation för denna sida
Förflyttar dig från valfri sida till dokumentationen för vyn som genererar den sidan.
För att använda detta bokmärke krävs att XViewMiddleware
är installerat och att du är inloggad på Django admin
som en User
med is_staff
satt till True
.