问题标签 [wagtail-admin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wagtail - 如何将 Wagtail 图像选择器面板限制为集合
我在名为 profile_images 的模型中有一个字段,如何将图像选择器面板中显示的图像限制为配置文件图像集合?
我也想对画廊收藏的内联面板做同样的事情。
这意味着我不能使用权限,因为用户应该可以访问这两个集合。
谢谢您的帮助
python - 在 wagtail 管理主页上自定义页面等待审核面板
我试图找出一种方法来覆盖 wagtail 管理主页上“等待审核的页面”面板中显示的内容。我在网站前端的内容结构如下所示:
家
- 组织
- 组织 A
- 组织 B
- 等等
- 人们
- 个人资料第 1 页
- 个人资料第 2 页
- 等等
我有三种类型的用户——您的常规管理员/超级用户、每个组织的版主和普通员工。
普通员工在人员部分都有个人资料,可以登录和编辑自己的个人资料,但不能发布。他们只是提交它们以供审核。
版主可以在其组织内编辑/发布任何内容。例如,如果您属于 Org A 版主组,则您对 Org A 页面及其站点树中其下方的任何内容以及人员部分中的任何个人资料都具有权限。您不能编辑属于其他组织的任何内容。
由于人员配置文件可以属于多个组织(这是通过 ParentalManyToMany 关系处理的),我无法在导航中将所有人员嵌套在他们的组织下。所以我还没有想出一种方法来只向版主组织下的人授予编辑权限。但我想我可以通过限制版主的“等待审核的页面”队列来优雅地解决这个问题,以便查询只返回与其组织相关的项目。
我不知道我是否需要删除 wagtailadmin 的 home.py 设置的 PagesForModerationPanel 并将其替换为我自己的具有自定义查询逻辑的面板,或者我是否可以在不删除和替换面板的情况下以某种方式覆盖该类。
https://docs.wagtail.io/en/latest/reference/hooks.html提供了一个简单示例,说明如何将欢迎面板添加到管理主页。我能够让它发挥作用。我还想出了如何删除 wagtail_hooks.py 中现有的审核面板:
但是当我尝试在 wagtail_hooks.py 中定义自己的面板类,然后将其添加到主页时,它不起作用。以下代码(目前与 wagtailadmin 的 home.py 具有相同的查询逻辑;我还没有更改它)导致错误:
我是在语法上做错了什么,还是我试图在错误的文件中这样做?我尝试了其他一些技巧,例如重新排列我的 'home' 应用程序和 'wagtail.admin' 包含在我的 INSTALLED_APPS 中的顺序,但这似乎没有什么不同。
这是我第一次尝试自定义 wagtail 管理员以解决更复杂的用户工作流程,所以我想我可能会完全错误地吠叫树,并且有一种方法可以在不覆盖审核队列的情况下处理这个问题。
python - Wagtail:更改 wagtailmenus 的 list_display
我正在使用带有一些自定义模型的 wagtailmenus 库,如此处所述。没什么大不了的,它只是添加了一个语言字段:
现在对于常规模型,我可以使用 ModelAdmin 和 pass list_display
,但 wagtailmenus 似乎已经注册了菜单本身。是否仍然可以以list_display
某种方式更改属性,以便我可以在列表中显示语言?
django - 在 Wagtail 应用程序之外使用 Wagtail 的网站设置
我有一个带有 Wagtail 应用程序的 Django 项目,我想在 Wagtail 应用程序之外但在 Django 项目内部使用 Wagtail 站点设置。
BaseSetting 模型似乎定义明确,我可以设置字段并通过 Wagtail 管理界面修改它们:
第一次尝试
按照文档,我尝试加载设置模板标签:
在工作的鹡鸰模板中
在项目的其他模板中不起作用
第二次尝试
我尝试创建简单的标签和包含标签,在其中我已经加载了 wagtail 的站点设置数据,这样我就可以将它们加载到一个没有持有 wagtail 视图但它不起作用的模板中。
第三次尝试
我试图从 wagtail 外部的 wagtailsettings_tags.py 模块注册get_settings函数,并在模板中调用它,但这也是失败的。
我觉得我已经没有解决这个问题的想法了。如果有人知道它会很棒,我相信有一种聪明的方法可以将 wagtail 站点设置扩展到我的整个项目。
django - Wagtail - 是否有一种简单的方法可以通过编程检查用户是否具有 Wagtail 管理员访问权限?
我希望能够在我的代码中检查用户是否有权访问 Wagtail 管理界面。我在想象 Django 模型上的一个字段,例如user.is_wagtail_user
.
有没有现有的方法可以做到这一点?或者我可以添加一些简单的东西吗?
python - Wagtail 管理员:如何在提交更改以进行审核后控制用户重定向的位置
在我建立的 Wagtail 网站上,我有一个模型类型,可由没有完全管理员权限的经过身份验证的用户编辑。他们只能保存为草稿或提交更改以供审核。我遇到的问题是 Wagtail 在执行这两个操作后重定向的位置不一致。保存草稿会将用户带回到他们刚刚打开的编辑屏幕,并附上说明草稿已保存(很好)的说明。提交审核会将用户返回到父页面的管理浏览视图,该视图显示列表中的所有兄弟节点。他们无法编辑该列表中的绝大多数项目,因此我认为这对于非管理员用户来说是令人困惑的。我想让“提交审核”操作检测用户是否属于管理员以外的组(或者,如果失败,
我在我的模型定义中尝试了这个,但没有奏效:
我可能需要挂钩和覆盖某种 Wagtail 管理操作,而不是尝试在 models.py 中完成此操作,但我对此没有太多经验,因此我需要更好地了解要更改的内容和在哪里。
wagtail - 错误的 FieldRowPanel
我的 FieldRowPanel 错了吗?
我正在尝试在这个地方这样做:
尽管没有错误,但管理员中没有显示任何内容
wagtail - 删除页面后如何自动删除链接到页面的图像?
我有一个带有此模型的 Annonce 页面:
如何在删除 Annonce 页面本身后自动删除 Annonce 页面的图像?我需要更改模型吗?