【问题标题】:How to display model help_text in template如何在模板中显示模型 help_text
【发布时间】:2020-01-01 15:35:07
【问题描述】:

我有一个带有 help_text 的模型:

class Books(models.Model):
    title = models.CharField(
        max_length=255,
        verbose_name='Book title',
        help_text='Please enter the book title'
    )

在我的模板中显示书名很容易:

views.py:

class BookDetail(DetailView):
    model = Books
    context_object_name = 'book'

模板.html:

{{ book.title }}

但是,如何引用与标题模型字段关联的 help_text。例如。 {{book.title.help_text}}

【问题讨论】:

    标签: django django-models django-templates


    【解决方案1】:
       from six import text_type
    
       class Books(models.Model):
           title = models.CharField(
                     max_length=255,
                     verbose_name='Book title',
                     help_text='Please enter the book title'
                  )
           @property
           def title_help_text(self)
                return text_type(self._meta.get_field('title').help_text) 
    

    然后您可以在模板中访问{{book.title_help_text}}

    【讨论】:

    • 6 在 Django 3.0 中被贬值了,你能更新一下例子吗?
    • django.utils.six 模块在 Django 3.0 中被弃用,而不是 python 的六个模块。六不依赖于django。
    • 谢谢,我将如何创建这个变量,以便属性查找我在模板中指定的任何字段详细名称?
    • 你能举个例子吗?
    【解决方案2】:

    @alias51,您正在使用通常用于显示模型数据的DetailView。

    首先--需要了解为什么我们需要help_text?

    我们使用 help_text 来显示附加帮助信息以及表单字段。

    所以它基本上用作输入按钮的提示。即:

    <input type="text" name='title' />
    <p>Please enter the book title</p>
    

    因此,如果您想将其显示为表单字段提示或用于文档目的,您可以在模型表单中使用 help_text。

    因此,在基于类的视图中,您可以在 CreateView 中使用它。您需要在哪里迭代 form 对象:

    {% for field in form %}
         {% if field.help_text %}
            {{ field.help_text }}
         {% endif %}
    {% endfor %}
    

    详情:https://docs.djangoproject.com/en/3.0/topics/forms/#looping-over-the-form-s-fields

    https://docs.djangoproject.com/en/3.0/ref/models/fields/#help-text

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-13
      • 2019-10-09
      • 2016-05-06
      • 1970-01-01
      • 2012-04-08
      • 2013-11-27
      • 2022-12-09
      • 1970-01-01
      相关资源
      最近更新 更多