首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当wagtail BooleanField为true时启用wagtail DateField

当wagtail BooleanField为true时启用wagtail DateField
EN

Stack Overflow用户
提问于 2018-09-25 04:16:05
回答 1查看 284关注 0票数 2

我需要在默认情况下禁用wagtail DateField,但如果内容作者选中了一个框( wagtail BooleanField),那么该字段应该是启用的,并且是必需的。我正在努力寻找解决这个问题的最好方法,我还没有找到关于如何做到这一点的文档。我在考虑使用Django信号或wagtail钩子,但对于我认为应该是常见用例的情况,这似乎是一个复杂的解决方案。所以我想知道是否有人有更好的选择或者给我指出正确的方向。

EN

回答 1

Stack Overflow用户

发布于 2018-09-25 04:45:25

我不相信这在目前的Wagtail (从Wagtail 2.2开始)是不可能的。至少不是原生的。

但是,您可以使用如下代码片段将自定义JavaScript添加到您的管理员中:

代码语言:javascript
复制
from django.contrib.staticfiles.templatetags.staticfiles import static
from django.utils.html import format_html

from wagtail.core import hooks


@hooks.register("insert_global_admin_js", order=100)
def global_admin_js():
    """Add custom.js to Wagtail Admin."""
    return format_html('<script src="{}"></script>', static("js/custom.js"))

然后,在您的custom.js文件中,您可以添加一个JavaScript事件来检测布尔字段是否被选中,然后查找并选择DateField并禁用或隐藏它。

正如Willem Van Onsem所提到的,您需要将DateField设置为可空和空白,这样当DateField为空时,您就可以保存页面(作为表单)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52486718

复制
相关文章

相似问题

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