![]() |
1
3
不确定这是否对您的特定用例有帮助…但为了以防万一,请注意,当您在视图中构建表单时,您可以根据需要添加额外的参数,然后将它们传递给您的自定义小部件。 工作示例: 文件“表单.Py”
文件“fields.py”
文件“widgets.py”
|
![]() |
2
3
窗口小部件是如何将字段的数据/值呈现到HTML呈现的模板中的,这是窗口小部件的唯一功能,请看文档中的以下示例:
所以,小部件不知道数据是否有效(有错误),应该保持这种状态。 在小部件级别处理任何数据错误/验证都不是一个好主意,您希望,我可以确保,如果您更改字段的外观(小部件),您的验证将继续工作。 说… 如何访问字段错误?当你呈现一个表单时,你可以一个字段一个字段地进行,让我们以这个表单为例:
您可以写信给Temlate:
这将呈现如下情况:
现在,假设您的表单不接受少于8个字符的密码:
您可以这样访问密码错误:
现在如果你输入一个简短的密码…
如果有错误,我希望控件看起来不同。
如果有错误,可以添加一些样式。只需使用
CSS:
这就是结果:
结论。验证和处理表单中的数据错误或使用 validators 使用小部件来显示数据,当然,您可以自定义数据的显示方式,因为您可以为小部件指定自定义模板。 我也推荐 django-widget-twaeks 如果您想在模板代码中向小部件添加属性。此应用程序允许您编写类似的代码(来自应用程序文档的示例):
|
![]() |
LuizGTVSilva · 从Django表单恢复数据 2 年前 |
![]() |
CAB · Django消息。成功行不通 6 年前 |
![]() |
William · Django Ajax表单提交错误重定向到其他页面 6 年前 |
![]() |
Samir Tendulkar · 使用FBV对多个图像进行后期创建 6 年前 |
![]() |
aleksk · Django无法识别序列化程序中当前用户的字段重写 6 年前 |