python - 如何在 Django 中自动为我的所有表单小部件添加类属性?
问题描述
我希望每次使用 django 创建表单时,标签输入都包含一个特定的 css 类(表单控件),为此我必须在 form.py 中编写以下代码,为每个字段添加行:
class InsertItem(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['name'].widget.attrs.update({'class': 'form-control'})
self.fields['price'].widget.attrs.update({'class': 'form-control'})
有没有办法强制 Django 在每种形式中包含我需要的 css 类,而不必为每一行和每一行编写这些东西?
解决方案
编写一个更新每个字段的通用基类:
class StylishForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.fields.values():
field.widget.attrs.update({'class': 'form-control'})
并从中继承:
class InsertItem(StylishForm):
...
推荐阅读
- java - ANTLR4 如何提取 python 表达式变量
- flutter - 如何在颤振中扩展两个类?
- windows - Windows Defender 将我的程序识别为多个木马(“Wacatac”和“Persistence”) - 可能是由覆盖注册表项引起的
- r - ggplot2:使用 facet_grid 在系数图中绘制系数
- ios - 无法通过 Apple Silicon 上的 iOS 模拟器连接到 Firestore
- amazon-web-services - 将默认表属性分配给爬网程序创建的表
- python - 查询python列表中的所有字典
- python - Discord.py - 在 Discord 中使用命令时没有任何反应
- amazon-web-services - 如何观察和控制 sagemaker 多模型服务器如何在内存中加载模型
- excel - 应用过滤器后数据透视图更改图表类型