wagtail - 在 WagTail 中呈现具有初始值的表单
问题描述
我需要使用预填充的数据呈现一个表单,但在 WagTail 中似乎是不可能的。我正在尝试使用MyForm(initial={"field_name": value})
(如果需要,则MyForm
继承WagtailAdminModelForm
)以“Django 方式”来执行此操作,但这是不可能的,因为MyForm
没有Meta.model
字段,而且据我所知,由于 WagTail 的设计方式,无法指定它。
是否有任何解决方法或替代方法来呈现预填充的表单?
解决方案
# models.py
from django.db import models
from wagtail.core.models import Page
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.admin.forms import WagtailAdminPageForm
class BlogForm(WagtailAdminPageForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
my_field = self.fields["my_field"]
my_field.widget.attrs["value"] = "My new initial data"
class Blog(Page):
my_field = models.CharField(max_length=255, default='', blank=True)
content_panels = Page.content_panels + [
FieldPanel("my_field"),
]
base_form_class = BlogForm
推荐阅读
- asp.net-mvc - 如何正确通过 ajax 调用将 DataSourceRequest 对象发送到控制器?
- javascript - 为什么 stringify() 只返回第一级对象数组
- google-app-maker - 从服务器脚本中记录的字符串中获取值
- c# - PasswordTokenRequest 返回 invalid_client
- java - 如何使用 UDP 或 TCP (lua / java) 发送压缩数据
- java - 客户端证书验证步骤后相互 SSL 握手失败
- sass - 使用 Webpack 创建自定义主题时,UIkit 的预期工作流程是什么?
- javascript - Express:请求的模块不提供名为“用户”的导出
- python - 在 Django Admin 中从 2 个或多个模型中合并“添加”表单(以一对一关系连接)
- css - 格式化 div 表