能否通过django.contrib.admindocs获取并展示模型属性的文档?
Django admindocs 与模型属性文档的那些事儿
嘿,这个问题问得很实在!答案是完全可以——django.contrib.admindocs不仅能获取模型属性的文档,还能让你的模型属性(不管是内置字段还是自定义的@property)在管理文档里清晰显示出来,只要你做几步简单配置就行。
下面一步步给你讲清楚怎么操作:
1. 先确保admindocs已经正确配置
首先得把admindocs集成到你的项目里:
- 打开
settings.py,把django.contrib.admindocs添加到INSTALLED_APPS列表里,记得要确保django.contrib.admin也在列表中(admindocs依赖它) - 然后去
urls.py里添加admindocs的路由:from django.urls import path, include from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('docs/', include('django.contrib.admindocs.urls')), # 新增admindocs路由 ]
2. 给模型属性添加可识别的文档注释
admindocs会自动抓取两种类型的文档内容:
- 对于模型的内置字段:直接用
help_text参数添加说明即可,比如:title = models.CharField(max_length=200, help_text="图书的正式标题,最多允许200个字符") - 对于自定义的
@property属性:要给属性加上文档字符串(三引号包裹的注释),比如:@property def is_recent(self): """判断这本图书是否是最近30天内出版的 计算逻辑:将图书出版日期与当前日期减去30天的时间点做对比 """ from datetime import timedelta from django.utils import timezone return self.publication_date >= timezone.now() - timedelta(days=30)
3. 安装必要的依赖库
admindocs依赖docutils来解析和渲染文档格式,所以你需要先安装它:
pip install docutils
4. 查看效果
启动你的Django项目,访问/docs/路径,找到对应的模型页面,就能看到所有带注释的字段和属性都已经显示在文档里了——字段的help_text和@property的文档字符串都会被完整展示出来。
哦对了,如果是生产环境,别忘了运行python manage.py collectstatic来收集admindocs的静态资源,不然页面样式可能会乱掉。
内容的提问来源于stack exchange,提问作者Webucator
相关产品推荐
相关产品推荐

