ModelForm基类:添加bootstrap新式

from django import forms

class BootStrapModelForm(forms.ModelForm):
	# 不使用bootstrap样式的字段
	bootstrap_exclude_fields=[]
	def __init__(self, *args, **kwargs):
		super().__init__(*args, **kwargs)
		# 循环ModelForm中的所有字段,给每个字段的插件设置
		for name, field in self.fields.items():
			if name in self.bootstrap_exclude_fields:
				continue
			# 字段中有属性,保留原来的属性,没有属性,才增加。
			if field.widget.attrs:
				field.widget.attrs['class'] = 'form-control'
				field.widget.attrs['placeholder'] = field.label
			else:
				field.widget.attrs = {
					'class': 'form-control',
					'placeholder': field.label
				}

class BootStrapModelForm(BootStrap, forms.ModelForm):
	pass

class BootStrapForm(BootStrap, forms.Form):
	pass
posted @ 2023-11-07 17:01  劼吉力劼  阅读(40)  评论(0)    收藏  举报