为什么 MyPage._meta.get_field("title").verbose_name 会更改 Wagtail 中所有标题的标签?

2024-01-08

我的 Wagtail 项目中有几个应用程序,其中之一是“新闻”,其中包含新闻(页面)。我想在管理中将标题的标签“标题”覆盖为“标题”。

News._meta.get_field("title").verbose_name = "Headline"

结果,我在所有应用程序和页面中获得了所有标题的“标题”标签。为什么我会出现这种奇怪的效果?

UPDATE:

# news/models.py

class NewsDetails(Page):
    template = "news/news_details.html"

    news_text = RichTextField(features=['h2', 'h3', 'bold', 'italic', 'link', 'ol', 'ul',])
    news_image = models.ForeignKey(
        "wagtailimages.Image",
        null=True,
        blank=False,
        on_delete=models.SET_NULL,
    )

    content_panels = Page.content_panels + [
        ImageChooserPanel("news_image"),
        FieldPanel("news_text")
    ]

    class Meta:
        verbose_name = "News"

    parent_page_types = ['news.NewsList']


NewsDetails._meta.get_field("title").verbose_name = "Headline"


对内森的答案稍作修改,解决了瓦莱里的问题verbose_name不工作。放title.label而不是title.verbose_name:

class NewsDetailsForm(WagtailAdminPageForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        # Manually edit the default form's title attributes:
        title = self.fields['title']
        title.label = "Headline"
        title.help_text = "Some headline..."

原因是我们现在处理的是 django.forms.Field 而不是 django.db.models.Field。请参阅中的代码django.db.models.Field.formfield():

    def formfield(self, form_class=None, choices_form_class=None, **kwargs):
        """Return a django.forms.Field instance for this field."""
        defaults = {
            'required': not self.blank,
            'label': capfirst(self.verbose_name),
            'help_text': self.help_text,
        }

        ...

        return form_class(**defaults)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 MyPage._meta.get_field("title").verbose_name 会更改 Wagtail 中所有标题的标签? 的相关文章

随机推荐

  • MYSQL PHP 按日期排序并将结果按每个日期分组

    我试图寻找问题的解决方案 但我不太确定我在寻找什么 所以我运气不佳 我有一个简单的 MySQL 数据库 其中有一个名为 活动 的表 在该表中 我有 start date activity description 和 activity loc
  • 用原则 2 设置 LIMIT?

    我尝试编写一个查询 使用子查询 但我不知道如何在子查询中设置限制 我的查询 query ids this gt getEntityManager gt createQuery SELECT e id FROM MuzichCoreBundl
  • 在 CentOS 7.7 上初始化 MariaDB 10.4.12

    我在计算机上配置了 3 个驱动器 1 个用于数据文件 1 个用于事务日志文件 1 个用于临时文件 我想在 yum 安装后第一次运行时初始化 MariaDB 这是我的步骤 使用以下参数创建 etc my cnf mysqld aria log
  • 将 NuGet contentFiles 传递到引用的项目

    我有一个 NuGet 包 其中有一个打包为Content in contentFiles folder 然后我有两个带有 SDK 样式 csproj 的 C 项目 A 和 B 其中项目B参考项目A as a ProjectReference
  • 如何使用数据注释属性类来消除表单中的空字符串?

    我试图在表单中要求一个文本输入字段 这意味着表单中需要有一些内容 然而 添加一个 Required 我的模型的标签不起作用 具体来说 查看用户名属性 public class ColumnWidthMetaData DisplayName
  • 结构图 Web Api 2 帐户控制器和个人帐户

    我对 IOC 和 web api 2 相当陌生 但已经让 StructureMap 在 web api 2 中的我自己的控制器上工作 我没有管理的是使用个人帐户在 AccountController 上使用 StructureMap 我使用
  • 在 Firefox 附加组件中打开套接字连接

    我想从 JavaScript 中的 Firefox 插件中打开套接字连接 传出 而不是侦听 nsIServerSocket 连接应该是 TCP 到指定端口上的本地主机 并将用于与计算机上运行的另一个进程进行通信 我怎样才能打开这样的客户端套
  • ionic4/Angular7 - 类型“文件”上不存在属性“dataDirectory”

    i user 文件传输 https ionicframework com docs native file transfer 下载需要的文件文件本机 https ionicframework com docs native file还 在i
  • 处理游戏中心身份验证

    根据苹果文档 https developer apple com library ios documentation GameKit Reference GKLocalPlayer Ref Reference Reference html我
  • Apple 当前的 Reachability 类是否向后兼容 iOS 3.1?

    我正在实施苹果的可达性 http developer apple com iphone library samplecode Reachability Introduction Intro html apple ref doc uid DT
  • 用两个或多个其他元素替换列表中的单个元素,而不影响其余元素的顺序

    有没有办法用两个或更多其他元素替换列表中的单个元素而不干扰列表的其余部分 我知道您可以将一个元素替换为另一个元素 但我正在寻找要添加的多个元素 用例是我想根据特定条件将给定元素拆分为两个或多个元素 例如 假设列表包含图上从节点 A 到节点
  • CTE 会提高性能吗?

    with ini as select select ini a join ini b join ini c SQL Server引擎执行了多少次calculate结果来自ini table 我试图回答 在你的帮助下 的问题是如果with语句
  • NodeJS 是否可以动态返回 SSL 证书?

    我想在我的 NodeJS 应用程序中动态返回 ssl 证书信息 我有两个域名链接到同一个节点应用程序 我只看到创建服务器时可以指定 ssl 设置 是否可以根据请求的 url 动态返回 ssl 证书 否则 如果我必须在另一个端口上创建第二个服
  • 如何从java中的.class文件获取实例

    坦白说 我什至不知道这是否可能 但我想做的就像下面这样 我通过终端中的 javac 命令从 ClassFile java 创建了一个类文件 然后我想从 java 文件或 class 文件获取一个实例 接下来 我在eclipse中制作了另一个
  • Angular Js 和 google api client.js (gapi)

    我花了一天的时间才让它发挥作用 所以我认为我的经验可能对某人有用 也许其他一些人会发现改进 所以我两天前就开始了 angularJS 我希望它与 Google Cloud Endpoints 一起创建后端接口 我的麻烦来了 gapi 的 j
  • 如何从 Main 调用 void 函数

    在我的程序中 我试图从 Main 调用 void 函数 但我无法找出正确的方法 Main位于最底部并且void GetTicketType char Choice 是我需要调用的函数cout门票类型 Purpose This program
  • 无法加载 tsc.ps1,因为该系统上禁用了运行脚本

    在 PowerShell 上 执行时收到错误消息tsc 这以前从未发生过 我不确定是否应该混合 PowerShell 安全设置来纠正此问题 例如基于此 PowerShell 表示 此系统上禁用了脚本执行 https stackoverflo
  • 如何检查数据库中是否存在 Oracle 视图?执行查询之前

    我需要知道一种在执行查询之前从 Java 桌面应用程序检查当前数据库中是否存在 Oracle 视图的方法 否则我会遇到很多麻烦 提前致谢 您随时可以查询Oracle数据字典 就像是 SELECT COUNT FROM all views W
  • Haskell 应用变压器的示例

    www haskell org 上的 wiki 告诉我们以下有关 Applicative Transformer 的信息 那么应用变压器在哪里呢 答案是 我们不需要适用函子的特殊变压器 因为它们可以以通用方式组合 http www hask
  • 为什么 MyPage._meta.get_field("title").verbose_name 会更改 Wagtail 中所有标题的标签?

    我的 Wagtail 项目中有几个应用程序 其中之一是 新闻 其中包含新闻 页面 我想在管理中将标题的标签 标题 覆盖为 标题 News meta get field title verbose name Headline 结果 我在所有应