首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-admin中的模型描述

django-admin中的模型描述
EN

Stack Overflow用户
提问于 2017-03-16 05:54:14
回答 1查看 3.3K关注 0票数 5

在django-admin中,是否可以将模型描述或描述放在特定模型的列表显示页面上?

我指的是,当您单击django-admin主页上的模型名称链接时,以及当您进入该模型的列表显示页面时。桌子上会写着一份描述。有点像

“此模型用于记录所有将通过我们的刮取获取的帐户……等等。”

像这样的事,有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 09:11:48

这将是一个非常好的特性,添加到Django的管理核心。在那之前,这里有一个关于你的问题的快速演练。

让我们假设您希望打印每个模型的docstring,如下所示:

代码语言:javascript
复制
class MyModel(models.Model):
    """
    I wanna get printed in the Admin!
    """

    # model fields here

所以,您想要在change_list页面中打印它。好的。

  1. 创建一个自定义模板标签 (或者在您的应用程序中或者创建另一个包含全局模板标记/过滤器的应用程序),如下所示: 从django.utils.html导入mark_safe寄存器= template.Library() @register.simple_tag() def model_desc(obj):if obj.__doc__:返回mark_safe({}‘.format(obj.__doc__))’
  2. 现在,在您的项目目录( manage.py所在的地方)中创建如下结构: 此处的项目/项目/项目内容,即wsgi.py、设置等myapp/ myapp在这里的内容,即模型、视图etc模板/管理/ change_list.html manage.py
  3. change_list.html中添加以下内容: {%扩展'admin/change_list.html‘%}{% load yourapp_tags %} { block.super将打印“选择改变”h1标题#} { model_desc模板标签是您创建的标签,并打印给定模型的文档字符串{%块content_title %} {% model_desc cl.model }{%model_desc cl.model %} {% endblock %}}

这是一张截图:

UPDATE:我有从源头上看,当没有指定docstring时,Django将以以下形式为您生成一个:ModelName(model_field_name1, model_field_name2, ...)。如果您不想这样做,只需这样做:

代码语言:javascript
复制
class MyModelWithoutDocstring(models.Model):

    # model fields here

MyModelWithoutDocstring.__doc__ = ''  # "reset" the __doc__ on this model.
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42826287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档