Streamfield 中的 Wagtail SnippetChooserBlock

2024-03-15

我在从片段中获取值时遇到一些问题,我已使用片段选择器块将其包含到流场中。

生物片段:

@register_snippet
class BioSnippet(models.Model):
    name = models.CharField(max_length=200, null=True)
    job_title = models.CharField(max_length=200, null=True, blank=True)
    bio = RichTextField(blank=True)
    image = models.ForeignKey(
        'wagtailimages.Image',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='+',
        verbose_name='Bio Image'
    )
    contact_email = models.CharField(max_length=50, null=True, blank=True)
    contact_phone = models.CharField(max_length=50, null=True, blank=True)

    panels = [
        FieldPanel('name'),
        FieldPanel('job_title'),
        FieldPanel('bio'),
        ImageChooserPanel('image'),
        FieldPanel('contact_email'),
        FieldPanel('contact_phone'),
    ]

    def __str__(self):
        return self.name

    class Meta:
        ordering = ['name',]

生物流场定义:

class BioInline(StructBlock):
    bio = SnippetChooserBlock(BioSnippet)

class BioBlock(StructBlock):
    overall_title = CharBlock(required=False)
    bios = ListBlock(BioInline())

这一切都有效,但是当我进入模板时,我似乎无法访问代码片段的值

{% for b in child.value.bios %}
    {{ b }}

    <hr>
    {{ b.name }}

{% endfor %}

{{ b }} 标签输出:

bio
Sales Team

但是 {{ b.name }} 没有输出任何内容。 {{ b.values.name }} 或我能猜到的任何其他排列也没有。我怀疑这些价值观并没有被拉低。


bios这里被定义为一个列表BioInline价值观,等等b在你的模板中将是BioInlinevalue - 具有单一属性,bio(给你实际的BioSnippet目的)。要获取名称,您必须使用:{{ b.bio.name }}.

我不认为BioInline对象实际上为你带来了任何东西 - 你可以改为定义BioBlock as:

class BioBlock(StructBlock):
    overall_title = CharBlock(required=False)
    bios = ListBlock(SnippetChooserBlock(BioSnippet))

这将使bios的列表BioSnippets - {{ b.name }}然后将按预期工作。

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

Streamfield 中的 Wagtail SnippetChooserBlock 的相关文章

随机推荐

  • .NET ImageList 实现中的 ImageList 容量错误?

    我在 net 应用程序中为 ListView 使用 ImageList 时遇到一些问题 在我的实现中 这个 ImageList 根据使用情况可以容纳几千个图像 这个问题最初是在我尝试处理大量图像时出现的 当我超过 5K 图像时 我在尝试添加
  • 使用 espresso 在网页视图中查找多个元素

    我正在测试一个混合应用程序 其中每个视图都有一个网络视图 在其中一个 Web 视图中 我有一个具有相同属性的元素列表 它们具有相同的 xpath 定位器 如下所示 h4 contains data role product name 我想创
  • 如何使用 vba 正确地重新格式化具有多种变化的尺寸值?

    我正在尝试创建一个 Excel 宏 将维度值格式化为我们公司的格式 这样我们就可以轻松地将数据导入到我们的系统中 而无需手动执行数千个维度 我遇到了一些问题 供应商向我们发送的维度有很多变化 这使得我很难想出某种正则表达式来捕获所有值 即使
  • 如何确认 Twitter Web 意图已发送?

    我想确认用户在点击后发布的推文Twitter 网络意图 https dev twitter com docs intents 我怎样才能做到这一点 Example a href https twitter com intent tweet
  • Pandas——根据另一个表中的值设置行值

    我在 pandas 中有两张桌子 其中大约有 10 000 多行 如下所示 Table 1 col 1 date state ratio 50 more cols A 10 12 NY 5 A 12 05 MA NaN 我有另一个大约 10
  • 在生产构建 Angular 4 中访问环境变量

    我想部署一个带有可配置 api url 的 Angular 应用程序的生产版本 供用户测试 我使用environment ts 但在生产构建之后 我不知道如何配置变量 需要采取什么方法 environment ts 文件包含构建时配置 构建
  • robots.txt htaccess 阻止谷歌

    在我的 htaccess 文件中 我有
  • 当我尝试通过 js split 解析时,第一个元素是空字符串

    我尝试解析ini文件 第一个字符串是空字符串 但其他字符串还可以 结构 sensor1 param1 value sensor2 param1 value param2 value 我的代码是 success function data v
  • 如果我使用支持库 26,为什么选项菜单项会被挤压? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 选项菜单项的大小与支持库 25 的大小相同 但当我使用 26 0 0 时 它们都会被挤压 菜单项 XML menu me
  • 用我自己的值初始化pytorch卷积层

    我想知道是否有办法用我自己的值初始化 pytorch 卷积过滤器 例如 我有一个元组 0 8423 0 3778 3 1070 2 6518 我想用这些值初始化 2X2 过滤器 我该怎么做 我查找了一些答案 但他们大多使用火炬正态分布和其他
  • Puppeteer 等待所有图像加载然后截图

    我在用傀儡师 https github com GoogleChrome puppeteer尝试在所有图像加载后截取网站的屏幕截图 但无法使其正常工作 这是到目前为止我正在使用的代码https www digg com https www
  • 使用position_dodge绘制geom_segment

    我有一个数据集 其中包含个人随时间的工作地点信息 更具体地说 我有关于个人在特定工作场所工作的时间间隔的信息 library tidyverse library lubridate individual A a id lt c rep A
  • 为什么我的 venv 使用的 pip 版本与我安装的不同

    我正在设置虚拟环境 我收到有关过时 pip 19 2 的警告 因此我在全球范围内更新了我的 macos 系统上的 pip sudo H python3 m pip install upgrade pip 它似乎有效 但是当我制作新的 ven
  • 如何使用 CSS/Javascript 根据窗口高度使 div 在两个 div 之间自动调整其高度?

    我有一个 div 位于正文顶部 另一个 div 位于正文底部 现在我想在这两个 div 之间放置一个 div 并使其高度占据这两个 div 之间的最大可用空间 这两个 div 之间的垂直空间不是固定的 这意味着当用户减小 增加窗口的高度时
  • Android Studio 观察表达式持久性

    每次调试后 Android Studio 都会删除我的所有监视表达式 我怎样才能强制它保留我的手表并将它们保存在项目中 据我所知 没有办法保存手表 但是 您可以使用 自动变量模式 左下角调试器选项卡 gt gt 设置按钮 这将清理调试器变量
  • 在 keyDown 事件中获取修饰符Flags,而无需同时按下非修饰键!

    我在 NSDocument 应用程序中对 NSWindow 进行了子类化 以便接收 keyDown 事件 我在我的子类中使用了以下代码 void keyDown NSEvent theEvent NSLog keyDown if theEv
  • 如何在 ILNumerics 中配置刻度标签位置?

    I draw some lines with ILLinePlot 然后我旋转立方体 目的是更改从顶部开始的 Y 刻度标签的位置 Rotation Matrix4 Rotation new Vector3 1 0 0 ILMath pif
  • 显示构建日期

    我目前有一个应用程序在其标题窗口中显示内部版本号 这很好 但对大多数用户来说没有任何意义 他们想知道他们是否拥有最新版本 他们倾向于将其称为 上周四的 而不是版本 1 0 8 4321 计划是将构建日期放在那里 例如 应用程序构建于 21
  • 当我从另一个方法调用方法时,React-native Bridge 为零

    但我注意到 每当我从另一个方法调用它时 我的桥变量都是零 我相信这是因为只有在从 javascript 调用桥接方法时才会设置桥接 我已经尝试了从创建委托到创建 SingleTon 类的所有方法 以上都不起作用 我不明白为什么它只能在我从
  • Streamfield 中的 Wagtail SnippetChooserBlock

    我在从片段中获取值时遇到一些问题 我已使用片段选择器块将其包含到流场中 生物片段 register snippet class BioSnippet models Model name models CharField max length