from django import forms from .models import Todo class LoginForm(forms.Form): username = forms.CharField(error_messages={'required': '用户名不能为空'}) password = forms.CharField() remember = forms.BooleanField(required=False) # TODO 数据不可为空 class TodoForm(forms.ModelForm): required_css_class = 'required' # (confused by Form & ModelForm https://stackoverflow.com/questions/2303268/djangos-forms-form-vs-forms-modelform) # maturity = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control'}), choices=( # ('0%', '0%'), # ('10%', '10%'), # ('50%', '50%'), # ('90%', '90%'), # ('100%', '100%') # )) # real_work = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'})) # sub_executor = forms.MultipleChoiceField(widget=forms.SelectMultiple(attrs={'class': 'form-control'})) class Meta: model = Todo fields = ['maturity', 'real_work', 'sub_executor', 'evaluate_factor', 'complete_note'] widgets = {'complete_note': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}), # 'evaluate_factor': forms.NumberInput(attrs={'class': 'form-control'}), } def __init__(self, *args, **kwargs): super(TodoForm, self).__init__(*args, **kwargs) # self.fields['sub_executor'].widget.attrs['class'] = 'form-control' fields = ['maturity', 'real_work', 'sub_executor', 'evaluate_factor', 'complete_note'] for i in fields: self.fields[i].widget.attrs['class'] = 'form-control'