问题标签 [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.

0 投票
0 回答
157 浏览

django - 显示不打算在 ModelAdmin 中编辑的字段

我有一个自定义联系表单,我为此创建了一个sent_time字段,auto_now_add以节省用户发送消息的时间。

我可以在管理面板的列表视图中列出所有信息,但是当我尝试输入特定消息时,我遇到了以下错误:

'sent_time' cannot be specified for GeneralContact model form as it is a non-editable field

我尝试ModelAdmin在相同的错误结果中使字段只读

当然可以只显示,也许我在模型中做错了什么?

这是我用于联系模型的基本模型

实际使用的类是相当简单的,也许这里需要做一些事情来允许显示只读字段?

在列表视图中可以显示所有信息。在编辑视图中,理想情况下,有关消息和发件人的所有信息都将作为只读字段,并且管理员可以选择has_response根据是否有人响应来更改值。

我可以通过什么方式实现这一目标?


更新

看到此问答后,我已将其更改auto_now_add为属性django.utils.timezone.now的默认值sent_time,生活似乎更好,问题开始时的错误消失了,编辑视图完全加载。但是,现在所有字段都是可编辑的,这是不可取的。

查看ModelAdminWagtail 提供的类,它似乎readonly_fields不可用,可能只是同名 django 管理类的一个功能。所以我不确定在这里做什么。WagtailsHelpPanel类型的输出是我正在寻找的,我有一个想法用它来显示数据,但我不确定它看起来像什么,甚至不确定它是如何完成的,因为我只是在学习 django 和鹡鸰。


更新 2

尝试使用HelpPanel而不是FieldPanel为了尝试显示值,但似乎HelpPanel没有检索到属性的值。通过这些文档检查,我看到没有提到像 djangos 这样的东西readonly_field,这证实了为什么我以前的一次尝试没有奏效,但我确实发现提到inspect_view_enabled它以只读方式显示值,并且在尝试后看起来非常我多么想得到它,唉,没有什么是可编辑的,但我越来越接近了。

我想知道是否有一个好的解决方案是覆盖用于的视图或模板,GeneralContactAdmin但不确定这是否只是为一个类输出一些文本的正确方法。

一个更简单的解决方案是保留检查视图并仅将其添加has_response到编辑视图,但是两个视图,其中一个只是一个复选框,对于 UX 来说不是很好。

当然有更好的方法来解决这个问题?

0 投票
2 回答
274 浏览

python - 不能再在鹡鸰中保存页面

单击发布或保存草稿时,我收到此错误 wagtail.core.models.Page.DoesNotExist: Page matching query does not exist. ,这只发生在旧页面上,新创建的页面能够被创建和保存而没有任何错误

注意:尽管我没有覆盖保存方法,但新页面没有子页面但试图找出导致此错误的原因任何建议或提示都会非常有帮助谢谢

这里是追溯:

0 投票
0 回答
75 浏览

wagtail - 对于某些用户来说,Wagtail 管理页面加载速度非常慢(explorable_pages() 问题?)

我有一个大约有 4000 个页面的网站,它在其中大约 400 个页面上使用细粒度权限。对于访问 /admin/ 页面的某些用户,页面会在一秒钟左右加载。对于其他人,页面可能需要大约 5 分钟才能加载。

对代码进行分析和调试似乎表明关注的领域是wagtail\core\models.py explorable_pages()函数,特别是

线。至少对于我的数据,这似乎返回了超过 2000 个结果,每个结果重复了 6 或 7 次(返回每个权限类型的结果?)。只有大约 400 个不同的结果。

添加一个distinct()改进的问题

将数字降低到 400 左右。我的页面加载时间现在约为 90 秒 - 不理想但更好。

以上是鹡鸰的真正问题还是我错过/不理解某些东西?

我可以做些什么来加快页面加载速度吗?是否以典型 wagtail 网站所期望的方式设置网站权限?

(请原谅我的无知,我可能使用了错误的术语 - 我是 Python/Django/Wagtail 的 Java 程序员新手)

0 投票
2 回答
40 浏览

wagtail - 鹡鸰管理表格订购

我有管理面板表单中的页面列表,看起来像屏幕截图。
如何为此或某种排序添加时间排序?我希望具有新表单提交的页面将出现在此列表的顶部。 在此处输入图像描述

0 投票
0 回答
139 浏览

python - Wagtail:将 BaseSetting 添加到 ModelAdminGroup

我正在尝试创建编辑 Wagtail 的管理界面和分组设置以使其更有意义。为此,我想在一个子菜单中混合 BaseSetting 和 ModelAdmin 模型。

我有两种类型的模型:BaseSetting,我与@register_settingmodels.Model一起使用,然后与ModelAdminmodeladmin_register一起显示

目前我有两个单独的应用程序,它们单独工作得很好。但是,我注意到了一个问题。当使用 ModelAdminGroup 时,显然它只能将 ModelAdmin 类带入其中。

admin.py 的内容

作为参考,这里是导入设置的片段:

发生以下错误。

TypeError: SidebarSettings() got an unexpected keyword argument 'parent'

我认为部分错误是装饰器也被忽略了。

我尝试的另一种方法是将设置直接添加到我创建模型的应用程序的 models.py 中。

models.py 的内容。我使用的设置与前一个片段中导入的设置不同(我不想开始破坏已经工作的代码并且两次导致问题)。但它仍然是 BaseSetting 所以概念是一样的

我可以立即看到我无法在此处注册设置的问题 - 它会直接转到“设置”。此外,它也不起作用。

同样,有问题的设置和模型在单独运行时都可以正常工作。我的问题是将它们聚合到一个子菜单中

做这个的最好方式是什么?我曾尝试深入研究文档以及 Stack Overflow,但还没有找到答案。

谢谢!

0 投票
1 回答
48 浏览

wagtail - Windows 10 上 wagtail 的客户端文件夹在哪里

我使用 pip 在我的计算机上安装 wagtail。它的操作系统是windows 10。在我的项目中,我需要自定义admin UI,主要是修改client文件夹中的css文件。文件夹客户端与 github 上的文件夹 wagtai 是对等的。但我在我的电脑上找不到客户端文件夹。

如何找到客户端文件夹?

希望得到您的帮助。

0 投票
0 回答
69 浏览

wagtail - Wagtail 嵌套的内联面板 - 仅保存第一个选择

我想在 Wagtail 中添加嵌套内联(尝试 2.11.3 和 2.12.3),但是只保存第一个嵌套字段(在作者和文章下)。嵌套的 PageChooserPanel 也显示一个列表,不知道这是否正常和预期。我需要将“作者”动态添加到“文章”,然后添加到相应的“公告”页面,以便我可以与作者建立关系并在他的个人资料中获取他的文章。

任何帮助将非常感激。提前谢谢了。

0 投票
0 回答
86 浏览

wagtail - 如何在 wagtails 模型管理中添加额外的自定义视图?

我正在尝试在 wagtails 模型管理员中添加新视图。但我面临错误。我正在尝试按照此问题中解释的步骤进行操作。https://github.com/wagtail/wagtail/issues/3336

这是我的代码片段。

错误页面。 在此处输入图像描述

我不知道我错过了什么。

0 投票
0 回答
53 浏览

wagtail - 在 wagtail 中向 modelAdmin 添加多对多关系字段

我在 page.py 上有(客户与页面有多对多的关系):

然后我在 admin.py 上有这个

现在我需要 printable_customers 在该模型管理索引视图上是可排序和可搜索的。怎么做?在这个阶段,我可以看到可打印客户(例如 CompanyA,Company B)列的数据,但上面没有排序按钮。

可排序字段

0 投票
1 回答
100 浏览

wagtail - Wagtail 中的模板和模型重用

我正在构建一个相当基本的 Wagtail 站点,并且遇到了关于模型和模板重用的问题。

假设我的网站有两种条目:

  1. 博客文章和
  2. 事件。

两个页面看起来相同并且共享许多模型字段(例如,作者、类别、介绍等)。但是,有些模型字段仅对事件条目类型有意义(例如,event_date、event_venue)。

为这个用例创建模板和模型而不在代码中重复我自己的理想方法是什么?

现在,博客和事件条目都使用相同的 HTML 模板和相同的模型。但是,当用户在 Wagtail 管理员中创建博客文章时,他或她必须“忽略”特定于事件的字段(将来可能会变得更多)。

尽管博客和活动 95% 的代码相同,我是否必须创建两个单独的模板文件和两个单独的模型?在 Wagtail 中解决这个问题的正确方法是什么?