django_project_demo/app/utils/bootstrap.py
2024-08-24 03:25:23 +00:00

32 lines
954 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django import forms
"""
这两个类是实现前端显示输入控件的样式与Bootstrap保持一致
"""
class Bootstrap:
"""
定义Bootstrap基类让所有表单控件的class都继承这个类减少代码量
"""
exclude_filed = [] # 过滤字段不让引用Bootstrap样式
# 给所有表单控件添加属性
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for name, field in self.fields.items():
# 判断要过滤掉的字段
if name in self.exclude_filed:
continue
# 如果表单控件中本来就有值,就追加属性
if field.widget.attrs:
field.widget.attrs["class"] = "form-control"
else:
field.widget.attrs = {"class": "form-control"}
class BootstrapModelForm(Bootstrap, forms.ModelForm):
pass
class BootstrapForm(Bootstrap, forms.Form):
pass