示例#1
0
    def __init__(self, *args, **kwargs):
        errors = self.default_error_messages.copy()

        if "error_messages" in kwargs:
            errors.update(kwargs["error_messages"])

        lat_field = fields.FloatField(
            error_messages={"invalid": errors["invalid_lat"]},
            min_value=-90,
            max_value=90)

        lng_field = fields.FloatField(
            error_messages={"invalid": errors["invalid_lng"]},
            min_value=-180,
            max_value=180)

        super(PointField, self).__init__((lat_field, lng_field), *args,
                                         **kwargs)
示例#2
0
 def __init__(self,
              required=False,
              widget=avmwidgets.FourItemFloatWidget(),
              label=None,
              initial=None,
              help_text=None,
              max_length=None):
     myfields = (
         fields.FloatField(required=False),
         fields.FloatField(required=False),
         fields.FloatField(required=False),
         fields.FloatField(required=False),
     )
     super(FourItemFloatField, self).__init__(myfields,
                                              required=required,
                                              widget=widget,
                                              label=label,
                                              initial=initial,
                                              help_text=help_text)
示例#3
0
文件: service.py 项目: PalaChen/sdy
class OrderAddForm(forms.Form):
    product_id = fields.IntegerField(
        widget=widgets.Select(attrs={'class': 'form-control'}),
        error_messages={'required': '必须选择一个'})
    cprice = fields.FloatField(error_messages={'required': '价格不能为空'})
    number = fields.IntegerField(error_messages={'required': '数量不能为空'})
    order_state = fields.ChoiceField(choices=((0, '待付款'), (1, '待服务'),
                                              (2, '服务中'), (3, '服务完成')))
    name = fields.CharField(error_messages={'required': '姓名不能为空'})
    phone = fields.IntegerField(error_messages={'required': '手机号码不能为空'})
    payment = fields.ChoiceField(choices=((0, '支付宝'), (1, '微信'), (2, '线下支付'),
                                          (3, '网银支付')))
class SubmitForm(forms.Form):
    # 修改学生信息的表单
    user_id = fields.CharField(label='用户名', widget=widgets.Select())
    start_score = fields.FloatField(
        max_value=200,
        min_value=0,
        required=False,
    )
    inclass_score1 = fields.FloatField(
        max_value=200,
        min_value=0,
        required=False,
    )
    inclass_score2 = fields.FloatField(
        max_value=200,
        min_value=0,
        required=False,
    )
    inclass_score3 = fields.FloatField(
        max_value=200,
        min_value=0,
        required=False,
    )
    inclass_score4 = fields.FloatField(
        max_value=200,
        min_value=0,
        required=False,
    )
    inclass_score5 = fields.FloatField(
        max_value=200,
        min_value=0,
        required=False,
    )
    inclass_score6 = fields.FloatField(
        max_value=200,
        min_value=0,
        required=False,
    )
    view_time = fields.FloatField(
        max_value=1000,
        min_value=0,
        required=False,
    )

    def __init__(self, *args, **kwargs):
        super(SubmitForm, self).__init__(*args, **kwargs)
        self.fields[
            'user_id'].widget.choices = models.result_store.objects.values_list(
                'userid', 'userid')
示例#5
0
class dataForm(Form):

    driverName = fields.CharField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    date = fields.DateField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    location = fields.CharField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    plateNumber = fields.CharField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    project = fields.CharField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    quantity = fields.FloatField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={
            'required': "can't be null",
            'invalid': 'must be number'
        })
    receiveID = fields.CharField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    receiverName = fields.CharField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    category_id = fields.IntegerField()
    time = fields.TimeField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    unit = fields.CharField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})
    uploadTime = fields.DateTimeField(
        widget=widgets.TextInput(attrs={'class': 'form-control'}),
        error_messages={'required': "can't be null"})

    def __init__(self, *args, **kwargs):  # 自定义__init__
        super(dataForm, self).__init__(*args, **kwargs)
        self.fields['category_id'].widget = widgets.Select(
            choices=material.objects.values_list('id', 'categoryName'),
            attrs={'class': 'form-control'})
示例#6
0
 def compress(self, data_list):
     if data_list:
         if data_list[2] in validators.EMPTY_VALUES:
             return None
         elif data_list[0] == "DBRef":
             cleaner = DBRefField()
             return cleaner.clean(data_list[1:3])
         elif data_list[0] == "int":
             cleaner = fields.IntegerField()
         elif data_list[0] == "float":
             cleaner = fields.FloatField()
         elif data_list[0] == "unicode":
             cleaner = fields.CharField(max_length=10000)
         elif data_list[0] == "datetime":
             cleaner = fields.DateTimeField()
         else:
             raise ValidationError(self.error_messages['invalid_type'])
         return cleaner.clean(data_list[2])
     return None
示例#7
0
class stu_form(forms.Form):
    # stuno = fields.IntegerField(required=True,
    #                             error_messages={
    #                                'required':'请填写学号',
    #
    #                            },)

    stuname = fields.CharField(
        max_length=64,
        required=True,
        error_messages={
            'required': '请填写学员姓名',
            'max_length': '学员姓名不可超过32个字'
        },
    )

    phone = fields.CharField(
        max_length=20,
        min_length=11,
        required=True,
        validators=[
            phone_validate,
        ],
        error_messages={
            'required': '请填写手机号码',
            'max_length': '手机号最长不可超过20位',
            'min_length': '手机号至少11位'
        },
    )

    qq = fields.CharField(
        max_length=15,
        validators=[
            qqNo_validate,
        ],
        error_messages={
            'required': '请填写QQ号',
        },
    )
    """coursId = ModelChoiceField(
        required=True,
        queryset=models.Courses.objects.all(),
        empty_label="-------",
        error_messages={
            'required': '请选择科目!',
        },
    )"""
    coursId = fields.IntegerField(widget=forms.Select(
        attrs={
            'class': 'select',
            'id': 'coursID',
            'onChange': 'getClasOption(this.value)'
        },
        choices=COURSES_LIST,
    ), )
    clsId = fields.IntegerField(
        required=False,
        widget=forms.Select(choices=(('', '-----'), ), ),
    )

    # clsId = ModelChoiceField(
    #     required=True,
    #     #queryset=models.Clas.objects.all(),
    #     queryset=models.Clas.objects.filter(couId=coursId),
    #     empty_label="-------",
    #     error_messages={
    #         'required': '请选择班级!',
    #     },
    # )

    clstype = fields.IntegerField(widget=forms.Select(choices=(
        (1, "现场"),
        (2, "网络"),
    ), ))

    tu_total = fields.FloatField(min_value=0.0,
                                 required=True,
                                 validators=[
                                     digit_validate,
                                 ],
                                 error_messages={
                                     'min_value': '请输入正数',
                                     'required': '请填写学费总额'
                                 })
    tu_paid = fields.FloatField(min_value=0.0,
                                required=True,
                                validators=[
                                    digit_validate,
                                ],
                                error_messages={
                                    'min_value': '请输入正数',
                                    'required': '请填写已交学费'
                                })

    is_recom = fields.IntegerField(widget=forms.Select(choices=(
        (1, "是"),
        (2, "否"),
    ), ))

    #recom = fields.IntegerField(widget=forms.Select())
    '''recom = ModelChoiceField(
        queryset=models.Stu.objects.all(),
        empty_label="-------"
    )'''
    recom = fields.CharField(required=False, max_length=64)

    def __init__(self, *args, **kwargs):
        super(stu_form, self).__init__(*args, **kwargs)
        #self.fields['clsId'].widget.choices = models.Clas.objects.all().values_list('id',"clsName")

        #self.fields['recom'].widget.choices = models.Stu.objects.all().values_list('id',"name")

    # def clean_stuno(self):
    #     sno = self.cleaned_data['stuno']
    #     if sno:
    #         st = models.Stu.objects.filter(Sno=sno)
    #         if st:
    #             raise ValidationError('输入学号已存在,请重新输入!')
    #         else:
    #             return sno

    def clean_coursId(self):
        coursId = self.cleaned_data['coursId']
        print("coursID> ", coursId)
        c = models.Courses.objects.get(id=coursId)
        if not c:
            raise ValidationError('请选择所学科目!!!!')
        else:
            print("form course: ", c)
            return c

    def clean_clsId(self):
        clsId = self.cleaned_data['clsId']
        cls = models.Clas.objects.filter(id=clsId).first()
        if not cls:
            raise ValidationError('请选择班级!!!!')
        else:
            print("form cls: ", type(cls))
            return cls

    def clean_recom(self):
        is_recom = self.cleaned_data['is_recom']
        rec = self.cleaned_data['recom']
        s = models.Stu.objects.filter(name=rec).first()
        if is_recom == 1:
            if not rec:
                #print("未输入推荐人")
                raise ValidationError('请选择推荐人!')
            else:
                if not s:
                    #print("-----打印错误-----")
                    raise ValidationError('该学员不存在')
                else:
                    print("form rec:", rec, type(rec))
                    print("from s:", s, type(s))
                    return s
        else:
            if rec:
                raise ValidationError('不需要填写推荐人')
            else:
                return s
示例#8
0
class GoodForm(Form):
    good_pic = fields.ImageField(label="商品图片",
                                 required=False,
                                 widget=widgets.FileInput())
    good_name = fields.CharField(
        label="名称",
        required=True,
        max_length=10,
        widget=widgets.TextInput(attrs={"class": "form-control"}),
        error_messages={
            'required': '商品名称不能为空',
            'max_length': '商品名称长度不能超过10',
        })
    price = fields.FloatField(
        label="单价",
        required=True,
        widget=widgets.NumberInput(attrs={"class": "form-control"}),
    )
    discount = fields.FloatField(
        label="折扣",
        required=False,
        widget=widgets.NumberInput(attrs={"class": "form-control"}),
    )
    good_num = fields.IntegerField(
        label="库存",
        required=True,
        widget=widgets.NumberInput(attrs={"class": "form-control"}),
    )
    remark = fields.CharField(
        label="备注",
        required=False,
        widget=widgets.Textarea(attrs={"class": "form-control"}))
    good_type = fields.ChoiceField(
        # choices=GoodType.objects.filter(store_id=1, goodtype_status=1).values_list("goodtype_id", "goodtype_name"),
        label="商品类型",
        initial=1,
        widget=widgets.Select(attrs={
            "class": "form-control",
            "style": "width:150px;display:inline"
        }))

    def __init__(self, *args, **kwargs):
        super(GoodForm, self).__init__(*args, **kwargs)  # 调用父类的__init__
        self.fields['good_type'].choices = GoodType.objects.filter(
            store_id=1, goodtype_status=1).values_list("goodtype_id",
                                                       "goodtype_name")

    def set_store_id(self, store_id):
        self.store_id = store_id

    def clean_discount(self):
        val = self.cleaned_data.get("discount")
        if val:
            if 1 >= val > 0:
                return val
            else:
                raise ValidationError("优惠打折须在0-1之间")
        else:
            return val

    def clean_price(self):
        val = self.cleaned_data.get("price")
        if 0 <= val <= 9999:
            return val
        else:
            raise ValidationError("商品价格须在0-999之间")

    def clean_good_name(self):
        val = self.cleaned_data.get("good_name")
        store_id = self.store_id
        ret = Goods.objects.filter(good_name=val, good_store_id=store_id)
        if not ret:
            return val
        else:
            raise ValidationError("本店已存在同名商品")

    def set_value(
        self,
        good_type_id,
        good_name,
        price,
        discount,
        good_num,
        remark,
    ):
        self.initial['good_type'] = good_type_id
        self.fields['good_name'].widget.attrs.update(
            {'value': good_name if good_name is not None else ""})
        self.fields['price'].widget.attrs.update(
            {'value': price if price is not None else ""})
        self.fields['discount'].widget.attrs.update(
            {'value': discount if discount is not None else ""})
        self.fields['good_num'].widget.attrs.update(
            {'value': good_num if good_num is not None else ""})
        self.initial['remark'] = remark
示例#9
0
class ArticlesSignForm(dform.Form):  # 项目签批
    SIGN_TYPE_LIST = models.Articles.SIGN_TYPE_LIST
    sign_type = fields.IntegerField(label='签批结论',
                                    label_suffix=":",
                                    initial=1,
                                    widget=widgets.Select(
                                        choices=SIGN_TYPE_LIST,
                                        attrs={'class': 'form-control'}))
    renewal = fields.FloatField(
        label='本次续贷',
        label_suffix=":",
        widget=widgets.NumberInput(attrs={
            'class': 'form-control',
            'placeholder': '本次续贷额度(元)'
        }))
    augment = fields.FloatField(
        label='本次新增',
        label_suffix=":",
        widget=widgets.NumberInput(attrs={
            'class': 'form-control',
            'placeholder': '本次新增额度(元)'
        }))
    credit_amount = fields.FloatField(
        label='客户授信总额',
        label_suffix=":",
        widget=widgets.NumberInput(attrs={
            'class': 'form-control',
            'placeholder': '客户授信总额(元)'
        }))
    g_value = fields.FloatField(
        label='反担保价值',
        label_suffix=":",
        widget=widgets.NumberInput(attrs={
            'class': 'form-control',
            'placeholder': '反担保价值(元)'
        }))
    rcd_opinion = fields.CharField(
        label='风控部意见',
        label_suffix=":",
        widget=widgets.Textarea(attrs={
            'class': 'form-control',
            'rows': '1',
            'placeholder': '风控部意见'
        }))
    convenor_opinion = fields.CharField(
        label='招集人意见',
        label_suffix=":",
        widget=widgets.Textarea(attrs={
            'class': 'form-control',
            'rows': '1',
            'placeholder': '招集人意见'
        }))
    sign_detail = fields.CharField(
        label='签批人意见',
        label_suffix=":",
        widget=widgets.Textarea(attrs={
            'class': 'form-control',
            'rows': '2',
            'placeholder': '签批详情'
        }))
    sign_date = fields.DateField(label='签批日期',
                                 label_suffix=":",
                                 initial=str(datetime.date.today()),
                                 widget=widgets.DateInput(attrs={
                                     'class': 'form-control',
                                     'type': 'date'
                                 }))
示例#10
0
class ArticlesAddForm(dform.Form):  # 项目添加
    custom_id = fields.IntegerField(
        label='客户名称',
        label_suffix=":",
        widget=widgets.Select(attrs={'class': 'form-control'}))
    product_id = fields.IntegerField(
        label='业务品种',
        label_suffix=":",
        widget=widgets.Select(attrs={'class': 'form-control'}))
    renewal = fields.FloatField(
        label='续贷金额(元)',
        label_suffix=":",
        widget=widgets.NumberInput(attrs={
            'class': 'form-control',
            'placeholder': '输入续贷金额'
        }))
    augment = fields.FloatField(
        label='新增金额(元)',
        label_suffix=":",
        widget=widgets.NumberInput(attrs={
            'class': 'form-control',
            'placeholder': '输入新增金额'
        }))
    credit_term = fields.IntegerField(
        label='授信期限(月)',
        label_suffix=":",
        initial=12,
        widget=widgets.NumberInput(attrs={
            'class': 'form-control',
            'placeholder': '输入授信期限(月)'
        }))
    process_id = fields.IntegerField(
        label="审批流程",
        label_suffix=":",
        widget=widgets.Select(attrs={'class': 'form-control'}))
    director_id = fields.IntegerField(
        label="项目经理",
        label_suffix=":",
        widget=widgets.Select(attrs={'class': 'form-control'}))
    assistant_id = fields.IntegerField(
        label="项目助理",
        label_suffix=":",
        widget=widgets.Select(attrs={'class': 'form-control'}))
    control_id = fields.IntegerField(
        label="风控专员",
        label_suffix=":",
        widget=widgets.Select(attrs={'class': 'form-control'}))

    def __init__(self, *args, **kwargs):
        super(ArticlesAddForm, self).__init__(*args, **kwargs)
        self.fields[
            'custom_id'].widget.choices = models.Customes.objects.values_list(
                'id', 'name')
        self.fields[
            'product_id'].widget.choices = models.Product.objects.values_list(
                'id', 'name')
        self.fields[
            'process_id'].widget.choices = models.Process.objects.values_list(
                'id', 'name')
        self.fields[
            'director_id'].widget.choices = models.Employees.objects.filter(
                job__name='项目经理', employee_status=1).values_list('id', 'name')
        self.fields[
            'assistant_id'].widget.choices = models.Employees.objects.filter(
                job__name='项目经理', employee_status=1).values_list('id', 'name')
        self.fields[
            'control_id'].widget.choices = models.Employees.objects.filter(
                job__name='风控专员', employee_status=1).values_list('id', 'name')
示例#11
0
class UserForm(Form):

    username = fields.CharField(
        required=True,
        max_length=200,
        error_messages={
            'required': '用户名不能为空!!!',
            'max_length': '用户名过长!!!',
        },
        widget=widgets.TextInput(attrs={
            'class': '',
            'placeholder': 'username',
            'name': 'username'
        }))
    email = fields.EmailField(
        required=True,
        max_length=100,
        error_messages={
            'required': '邮箱不能为空!!!',
            'invalid': '邮箱格式错误!!!'
        },
        widget=widgets.TextInput(attrs={
            'class': '',
            'placeholder': 'email',
            'name': 'email'
        }))
    Phone_Number = fields.CharField(
        required=True,
        max_length=11,
        error_messages={
            'required': '手机号码不能为空!!!',
            'max_length': '手机号码过长!!!',
        },
        widget=widgets.TextInput(attrs={
            'class': '',
            'placeholder': 'Phone_Number',
            'name': 'Phone_Number'
        }))
    Job_Number = fields.CharField(
        required=True,
        max_length=10,
        error_messages={
            'required': '工号不能为空!!!',
            'max_length': '工号过长!!!',
        },
        widget=widgets.TextInput(attrs={
            'class': '',
            'placeholder': 'Job_Number',
            'name': 'Job_Number'
        }))
    Ui_Color = fields.CharField(
        required=True,
        max_length=20,
        error_messages={
            'required': '界面颜色不能为空!!!',
            'max_length': '界面颜色过长!!!',
        },
        widget=widgets.TextInput(attrs={
            'class': '',
            'placeholder': 'Ui_Color',
            'name': 'Ui_Color'
        }))
    Ui_Zoom = fields.FloatField(
        required=True,
        error_messages={
            'required': '界面缩放系数不能为空!!!',
            'invalid': '格式错误!!!'
        },
        widget=widgets.TextInput(attrs={
            'class': '',
            'placeholder': 'Ui_Zoom',
            'name': 'Ui_Zoom'
        }))
    Design_Rate = fields.FloatField(
        required=True,
        error_messages={
            'required': '设计系数不能为空!!!',
            'invalid': '格式错误!!!'
        },
        widget=widgets.TextInput(attrs={
            'class': '',
            'placeholder': 'Design_Rate',
            'name': 'Design_Rate'
        }))

    def clean_Phone_Number(self):
        # 对Phone_Number的扩展验证
        Phone_Number = self.cleaned_data.get('Phone_Number')
        m = re.findall(r"1\d{10}", Phone_Number)
        if not m:
            raise ValidationError('号码格式不正确!')
        return Phone_Number
示例#12
0
class FilterStudentsByMarks(forms.Form):
    avg_mark = fields.FloatField(min_value=1, max_value=12)