Esempio n. 1
0
class UserRegister(Form):
    account = fields.CharField(
        label="账号",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    pwd = fields.CharField(
        label="密码",
        widget=widgets.PasswordInput(attrs={"class": "form-control"})
    )
    check_pwd = fields.CharField(
        label="确认密码",
        widget=widgets.PasswordInput(attrs={"class": "form-control"})
    )
    user_name = fields.CharField(
        label="昵称",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    user_avatar = fields.ImageField(
        label="头像",
        required=False,
        widget=widgets.FileInput()
    )
    user_tel = fields.CharField(
        label="联系方式",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
Esempio n. 2
0
class ArticleInfoForm(forms.Form):
    title = fields.CharField(max_length=50,
                             min_length=5,
                             label='文章标题',
                             error_messages={
                                 'max_length': '文章标题不能超过50',
                                 'min_length': '文章标题不能少于5'
                             })
    desc = fields.CharField(max_length=200,
                            min_length=5,
                            label='文章简介',
                            error_messages={
                                'max_length': '文章简介不能超过200',
                                'min_length': '文章简介不能少于5'
                            })
    content = fields.CharField(widget=widgets.Textarea, label='文章内容')
    image = fields.ImageField(label='文章图片')
    category = fields.ChoiceField(label='文章类别',
                                  widget=widgets.Select,
                                  choices=[])

    def __init__(self, *args, **kwargs):
        super(ArticleInfoForm, self).__init__(*args, **kwargs)
        self.fields['category'].choices = Category.objects.all().values_list(
            'id', 'name')
Esempio n. 3
0
class BlogForm(Form):
    title = fields.CharField(
        max_length=20,
        min_length=5,
        error_messages={
            'required': '标题不能为空',
            'min_length': '标题最少为5个字符',
            'max_length': '标题最多为20个字符'
        },
        widget=widgets.TextInput(attrs={
            'class': "form-control",
            'placeholder': '标题5-20个字符'
        }))
    content = fields.CharField(
        min_length=10,
        error_messages={
            'required': '内容不能为空',
            'min_length': '内容最少为10个字符'
        },
        widget=widgets.TextInput(attrs={
            'class': "form-control",
            'placeholder': '内容最少10个字符'
        }))
    pic = fields.ImageField(required=True,
                            error_messages={
                                'required': '图片不能为空',
                                'invalid': '图片格式错误'
                            })
Esempio n. 4
0
class BxsilderEditForm(forms.Form):
    status = fields.CharField(widget=widgets.RadioSelect(choices=((1, '上架'),
                                                                  (0, '下架'))))
    img = fields.ImageField(required=False,
                            error_messages={
                                'invalid': '文件类型上传错误',
                            })
    weight = fields.IntegerField(required=False,
                                 error_messages={'invalid': '请输入整数'})
Esempio n. 5
0
class SneakerForm(Form):
    title = fields.CharField(max_length=100)
    content = fields.CharField(max_length=1000,
                               widget=forms.Textarea(attrs={
                                   'rows': 15,
                                   'cols': 100
                               }))
    pic = fields.ImageField()
    sneakerReleaseDate = forms.DateField(widget=forms.TextInput(
        attrs={'class': 'datepicker'}))
    color = fields.CharField(max_length=100)
    price = fields.IntegerField()

    store = fields.CharField(max_length=100)
    storepic = fields.ImageField()
    url = fields.URLField(max_length=100)

    reseller = fields.CharField(max_length=100)
    resellerlink = fields.URLField(max_length=100)
Esempio n. 6
0
class RegisterForm(forms.Form):

    username = fields.CharField(
        max_length=16,
        min_length=3,
        required=True,
        label='Username',
        widget=widgets.TextInput(
            attrs={
                'class': 'form-control',
                'placeholder': 'Enter username',
                'onchange': 'checkUsername(this);'
            }),
        error_messages={
            'required': '用户名不能为空',
        },
        help_text='Username can just contains integer or letter or _')
    password = fields.CharField(
        required=True,
        max_length=32,
        label='Password',
        widget=widgets.PasswordInput(attrs={
            'class': 'form-control',
            'placeholder': 'Enter password'
        }))
    email = fields.EmailField(
        required=True,
        label='Email',
        widget=widgets.EmailInput(attrs={
            'class': 'form-control',
            'placeholder': 'Enter email'
        }),
        help_text="We'll never share your email with anyone else.")
    image = fields.ImageField(required=False,
                              allow_empty_file=True,
                              label='Avatar',
                              widget=widgets.FileInput(attrs={
                                  'class': 'custom-file-input',
                                  'id': 'customFile'
                              }))
    captcha = fields.CharField(
        required=True,
        label='Captcha',
        widget=widgets.Input(attrs={
            'class': 'form-control',
            'placeholder': 'Enter captcha'
        }),
        help_text='Click the captcha to change another.')

    def clean_username(self):
        username = self.cleaned_data['username']
        if User.objects.filter(username=username):
            raise forms.ValidationError('username already existed')
        return username
Esempio n. 7
0
class TroubleForm(forms.Form):
    title = fields.CharField(widget=widgets.TextInput(attrs={
        'class': 'form-control',
        'name': 'title'
    }))

    detail = fields.CharField(widget=widgets.TextInput(attrs={
        'id': 'trouble',
        'name': 'trouble'
    }),
                              required=False)
    image = fields.ImageField(
        widget=widgets.FileInput(attrs={'name': 'troubleImage'}),
        required=False)
Esempio n. 8
0
class BxsilderForm(forms.Form):
    """
    首页幻灯片上传
    """
    status = fields.CharField(widget=widgets.RadioSelect(choices=((1, '上架'),
                                                                  (0, '下架'))))
    img = fields.ImageField(required=True,
                            error_messages={
                                'required': '图片不能为空',
                                'invalid': '文件类型上传错误',
                            })
    weight = fields.IntegerField(required=False,
                                 error_messages={'invalid': '请输入整数'})
    url = fields.CharField(error_messages={'required': 'URL不能为空'})
Esempio n. 9
0
class EmployeeCreateForm(ModelForm):
    image = fields.ImageField()

    class Meta:
        model = User
        fields = [
            'first_name', 'last_name', 'gender', 'email', 'password',
            'address', 'phone', 'username', 'image'
        ]

    def __init__(self, *args, **kwargs):
        super(EmployeeCreateForm, self).__init__(*args, **kwargs)
        for field in self.fields:
            self.fields[field].widget.attrs['class'] = 'form-control'
Esempio n. 10
0
class StoreRegister(Form):
    account = fields.CharField(
        label="账号",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    pwd = fields.CharField(
        label="密码",
        widget=widgets.PasswordInput(attrs={"class": "form-control"})
    )
    check_pwd = fields.CharField(
        label="确认密码",
        widget=widgets.PasswordInput(attrs={"class": "form-control"})
    )
    real_name = fields.CharField(
        label="真实姓名",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    identity_card = fields.CharField(
        label="身份证号",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    store_name = fields.CharField(
        label="商家名称",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    store_avatar = fields.ImageField(
        label="头像",
        required=False,
        widget=widgets.FileInput()
    )
    store_tel = fields.CharField(
        label="联系方式",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    address = fields.CharField(
        label="地址",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    open_time = fields.TimeField(
        label="开店时间",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    close_time = fields.TimeField(
        label="关店时间",
        widget=widgets.TextInput(attrs={"class": "form-control"})
    )
    remark = fields.CharField(
        label="商家介绍",
        widget=widgets.Textarea(attrs={"class": "form-control"})
    )
Esempio n. 11
0
class UserInfoFrom(Form):
    """
    用户信息form
    """
    avatar = fields.ImageField(label="头像",
                               required=False,
                               widget=widgets.FileInput(attrs={
                                   "id": "avatar",
                                   "style": "display:none"
                               }))
    nickname = fields.CharField(
        label="昵称:",
        widget=widgets.TextInput(attrs={"class": "form-control"}),
        max_length=18,
        min_length=1,
        required=False,
        error_messages={
            'max_length': "用户名长度不能超过18位",
            'min_length': "用户名长度不能少于6位",
        })
    sex = fields.CharField(
        initial=1,
        label="性别:",
        required=False,
        widget=widgets.RadioSelect(choices=[(1, "男"), (2, "女")]),
    )
    mobile = fields.IntegerField(
        label="电话号码",
        required=False,
        widget=widgets.TextInput(attrs={"class": "form-control"}))
    intro = fields.CharField(
        label="个人介绍",
        required=False,
        max_length=200,
        widget=widgets.Textarea(attrs={
            "placeholder": "快些点简介介绍下自己吧......",
            "class": "form-control"
        }))

    def setvalue(self, avatar, nickname, sex, mobile, intro):
        self.fields['avatar'].widget.attrs.update(
            {'value': avatar if avatar is not None else ""})
        self.fields['nickname'].widget.attrs.update(
            {'value': nickname if nickname is not None else ""})
        self.initial["sex"] = sex
        self.fields['mobile'].widget.attrs.update(
            {'value': mobile if mobile is not None else ""})
        self.initial["intro"] = intro
Esempio n. 12
0
class Information(ModelForm):
    nickname = fields.CharField(
        max_length=16,
        min_length=1,
        error_messages={
            'required': '昵称不能为空',
            "invalid": '不能包含非法字符'
        },
        widget=widgets.TextInput(attrs={
            'class': 'form-control',
            'aria-describedby': 'basic-addon1'
        }))

    email = fields.EmailField(
        max_length=32,
        min_length=8,
        error_messages={
            'required': '邮箱不能为空',
            "invalid": '请输入正确邮箱'
        },
        widget=widgets.EmailInput(attrs={
            'class': 'form-control',
            'aria-describedby': 'basic-addon1'
        }))

    phone = fields.RegexField(
        '^1\d{10}',
        error_messages={
            'required': '手机不能为空',
            "invalid": '请输入正确手机号'
        },
        widget=widgets.TextInput(attrs={
            'class': 'form-control',
            'aria-describedby': 'basic-addon1'
        }))

    avatar = fields.ImageField(widget=widgets.FileInput(
        attrs={
            'style':
            "width:200px;height:200px;opacity:0;position:absolute;top:0"
        }))

    class Meta:
        model = UserInfo
        fields = ['avatar']
Esempio n. 13
0
class UpdateStoreForm(Form):
    store_id = fields.CharField(required=False)
    store_name = fields.CharField(
        label="商家名称",
        widget=widgets.TextInput(attrs={"class": "form-control"}))
    store_avatar = fields.ImageField(label="头像",
                                     required=False,
                                     widget=widgets.FileInput())
    store_tel = fields.CharField(
        label="联系方式",
        widget=widgets.TextInput(attrs={"class": "form-control"}))
    address = fields.CharField(
        label="地址", widget=widgets.TextInput(attrs={"class": "form-control"}))
    open_time = fields.TimeField(
        label="开店时间",
        widget=widgets.TextInput(attrs={"class": "form-control"}))
    close_time = fields.TimeField(
        label="关店时间",
        widget=widgets.TextInput(attrs={"class": "form-control"}))
    remark = fields.CharField(
        label="商家介绍", widget=widgets.Textarea(attrs={"class": "form-control"}))
Esempio n. 14
0
class CommentForm(forms.Form):
    comment_content = fields.CharField(required=False)
    comment_img = fields.ImageField(required=False)
Esempio n. 15
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
Esempio n. 16
0
class Register(Form):
    username = fields.CharField(max_length=25,
                                required=True,
                                label='昵称',
                                error_messages={
                                    'required': "昵称不能为空",
                                    'invalid': "输入错误",
                                    'max_length': "账户长度不能超过25",
                                })
    account = fields.CharField(max_length=128,
                               required=True,
                               label='用户名',
                               error_messages={
                                   'required': "用户名不能为空",
                                   'invalid': "输入错误",
                               })

    pwd = fields.CharField(max_length=32,
                           min_length=8,
                           required=True,
                           label='密码',
                           error_messages={
                               'required': "密码不能为空",
                               'invalid': "输入错误",
                               'max_length': "账户长度不能超过32",
                               'min_length': "密码长度不能少于8",
                           })

    confirm_pwd = fields.CharField(max_length=32,
                                   min_length=8,
                                   required=True,
                                   label='密码',
                                   error_messages={
                                       'required': "密码不能为空",
                                       'invalid': "输入错误",
                                       'max_length': "账户长度不能超过32",
                                       'min_length': "密码长度不能少于8",
                                   })

    email = fields.EmailField(max_length=255,
                              required=True,
                              label='邮箱',
                              error_messages={
                                  'required': "邮箱不能为空",
                                  'invalid': "邮箱格式错误",
                              })

    img = fields.ImageField(required=True,
                            label='图片',
                            error_messages={
                                'required': "图片不能为空",
                            })

    verify_code = fields.CharField(max_length=4,
                                   min_length=4,
                                   required=True,
                                   label='验证码',
                                   error_messages={
                                       'required': "验证码不能为空",
                                       'max_length': "验证码长度必须为4",
                                       'min_length': "验证码长度必须为4",
                                   })

    def clean_account(self):
        try:
            account = self.cleaned_data['account']
        except:
            pass
        if models.User.objects.filter(account=account).count():
            raise ValidationError("账号已存在")
        else:
            return self.cleaned_data["account"]

    def clean(self):
        print("开始校验密码一致性")
        pwd = self.cleaned_data['pwd']
        confirm_code = self.cleaned_data['confirm_pwd']
        print(pwd)
        print(confirm_code)

        if pwd != confirm_code:
            print('密码不一致')
            raise ValidationError("密码输入不一致,请重新输入")
        else:
            print("密码通过校验")
            return self.cleaned_data
Esempio n. 17
0
class ImageForm(forms.Form):
    imgFile = fields.ImageField(error_messages={
        'required': '图片不能为空',
        'invalid': '文件类型上传错误',
    })
Esempio n. 18
0
class RegisterForm(Form):
    '用户注册'
    username = fields.CharField(max_length=32,
                                min_length=2,
                                required=True,
                                widget=widgets.TextInput(attrs={
                                    'class': "form-control",
                                    'placeholder': "用户名"
                                }))
    nickname = fields.CharField(max_length=32,
                                min_length=2,
                                required=True,
                                widget=widgets.TextInput(attrs={
                                    'class': "form-control",
                                    'placeholder': "昵称"
                                }))
    email = fields.EmailField(max_length=32,
                              min_length=2,
                              required=True,
                              widget=widgets.TextInput(attrs={
                                  'class': "form-control",
                                  'placeholder': "邮箱"
                              }))
    password = fields.CharField(
        max_length=32,
        min_length=2,
        required=True,
        widget=widgets.PasswordInput(attrs={
            'class': "form-control",
            'placeholder': "密码"
        }))
    password2 = fields.CharField(
        max_length=32,
        min_length=2,
        required=True,
        widget=widgets.PasswordInput(attrs={
            'class': "form-control",
            'placeholder': "请再次输入密码"
        }))
    check_code = fields.CharField(widget=widgets.TextInput(
        attrs={
            'class': "form-control",
            'placeholder': "验证码"
        }))
    avatar = fields.ImageField(widget=widgets.FileInput(
        attrs={
            'class': 'user_avatar',
            'style': "position: absolute;right: -460px;opacity:0"
        }),
                               required=False)

    # remember=fields.ChoiceField(widget=widgets.CheckboxInput)

    def __init__(self, request, *args, **kwargs):
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.request = request

    def clean_username(self):
        username_input = self.cleaned_data.get('username')
        if models.UserInfo.objects.filter(username=username_input).values(
                'username').first() == None:  # 如果用户已经注册过
            return username_input
        raise ValidationError('该用户已注册')

    def clean_check_code(self):
        input_code = self.cleaned_data.get('check_code')
        session_code = self.request.session.get('check_code')
        if input_code.upper() == session_code:
            return input_code
        raise ValidationError('验证码错误')

    def clean(self):
        password1 = self.cleaned_data.get('password')
        password2 = self.cleaned_data.get('password2')
        if password1 == password2:
            return self.cleaned_data
        self.add_error('password2', ValidationError('密码不一致'))
Esempio n. 19
0
class RegisterForm(Form):
    '用户注册'
    username = fields.CharField(max_length=32,
                                min_length=2,
                                required=True,
                                widget=widgets.TextInput(attrs={
                                    'class': "form-control",
                                    'placeholder': "用户名"
                                }))
    # nickname = fields.CharField(max_length=32, min_length=2, required=True,
    #                             widget=widgets.TextInput(attrs={'class': "form-control", 'placeholder': "昵称"}))
    email = fields.EmailField(max_length=32,
                              min_length=2,
                              required=True,
                              widget=widgets.TextInput(attrs={
                                  'class': "form-control",
                                  'placeholder': "邮箱"
                              }))
    password = fields.CharField(
        max_length=32,
        min_length=2,
        required=True,
        widget=widgets.PasswordInput(attrs={
            'class': "form-control",
            'placeholder': "密码"
        }))
    password2 = fields.CharField(
        max_length=32,
        min_length=2,
        required=True,
        widget=widgets.PasswordInput(attrs={
            'class': "form-control",
            'placeholder': "请再次输入密码"
        }))
    check_code = fields.CharField(widget=widgets.TextInput(
        attrs={
            'class': "form-control",
            'placeholder': "验证码"
        }))
    avatar = fields.ImageField(widget=widgets.FileInput(
        attrs={
            'class': 'user_avatar',
            'style': "position: absolute;right: -460px;opacity:0"
        }),
                               required=False)
    role = fields.ChoiceField(
        widget=widgets.Select(attrs={'class': "form-control"}), initial=1)
    department = fields.ChoiceField(widget=widgets.Select(
        attrs={'class': "form-control"}))

    # remember=fields.ChoiceField(widget=widgets.CheckboxInput)

    def __init__(self, request, *args, **kwargs):
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.request = request
        self.fields['role'].choices = models.Role.objects.all().values_list(
            'rid', 'title')
        self.fields['department'].choices = models.Department.objects.all(
        ).values_list('did', 'title')

    def clean_username(self):
        username = self.cleaned_data.get('username')
        print(username, 'username----------')
        print(self.cleaned_data, '--------------clean_username')

        username_database = models.Identify_user.objects.filter(
            username=username).values('username').first()
        print(username_database, '从公司数据库获取的信息')
        if username_database:
            return username
        raise ValidationError('用户不在本公司')

    def clean_email(self):
        email = self.cleaned_data.get('email')
        print(email, 'email----------')
        print(self.cleaned_data, '--------------clean_email')

        email_database = models.Identify_user.objects.filter(
            email=email).values('email').first()
        print(email_database, '从公司数据库获取的信息')
        if email_database:
            return email
        raise ValidationError('用户邮箱不在本公司')

    def clean_check_code(self):
        input_code = self.cleaned_data.get('check_code')
        session_code = self.request.session.get('check_code')
        print('-----form ---')
        print(self.cleaned_data)
        print(input_code, session_code)
        if input_code.upper() == session_code:
            return input_code
        raise ValidationError('验证码错误')

    def clean(self):
        password1 = self.cleaned_data.get('password')
        password2 = self.cleaned_data.get('password2')
        # if password1==password2:
        #     print('密码一致')
        #     return self.cleaned_data
        # else:
        #     self.add_error('password2',ValidationError('密码不一致'))
        print('进入密码确认')
        username_form = self.cleaned_data.get('username')
        email_form = self.cleaned_data.get('email')
        username_database_from_email = models.Identify_user.objects.filter(
            email=email_form).values('username').first(
            )  # 依据用户输入的Email查找数据库中的username再与用户输入的username比对
        print('username_form', username_form, 'username_database_from_email',
              username_database_from_email)
        if username_database_from_email != None:
            if username_form == username_database_from_email.get('username'):
                print('用户名和Email比对正确')
                if password2 == password1:
                    return self.cleaned_data
                else:
                    self.add_error('username', ValidationError('密码不一致'))
            else:
                self.add_error('username', ValidationError('用户名和邮箱不符'))
        else:
            self.add_error('username', ValidationError('用户名或邮箱不在公司数据库'))
Esempio n. 20
0
class registerform(forms.Form):
    username = fields.CharField(
        max_length=30,
        label='用户名',
        error_messages={'required': '用户名不能为空!'},
        widget=widgets.TextInput(attrs={
            'class': 'username',
            'placeholder': '请输入用户名'
        }))
    password = fields.CharField(
        max_length=30,
        error_messages={'required': '密码不能空!'},
        widget=widgets.PasswordInput(attrs={
            'class': 'pass',
            'placeholder': '请输入密码'
        }))
    password2 = fields.CharField(
        max_length=30,
        error_messages={'required': '密码不能空!'},
        widget=widgets.PasswordInput(attrs={
            'class': 'pass',
            'placeholder': '请确认密码'
        }))
    email = fields.EmailField(
        max_length=30,
        error_messages={'required': '邮箱不能空!'},
    )
    country = fields.CharField(initial=1,
                               widget=widgets.Select(choices=((1, '美国'),
                                                              (2, '日本'))))

    image_url = fields.ImageField(required=False)

    #验证码生成
    captcha = CaptchaField()

    def clean_username(self):
        #cleaned_data为表单内容的字典
        name = self.cleaned_data['username']
        if len(name) < 1 or len(name) > 30:
            raise ValidationError('用户名必须在1-30字符内!')
        if User.objects.filter(username=name):
            raise ValidationError('用户名已存在!')
            #必须return 表单内容
        return name

    def clean_password(self):
        pass1 = self.cleaned_data['password']
        if len(pass1) < 6 or len(pass1) > 30:
            raise ValidationError('密码长度在6-30字符内')
        return pass1

    def clean_password2(self):
        pass2 = self.cleaned_data['password2']
        pass1 = self.cleaned_data['password']
        if pass1 != pass2:
            raise ValidationError('两次密码不一致!')
        return pass2

    def clean_email(self):
        em = self.cleaned_data['email']
        if User.objects.filter(email=em):
            raise ValidationError('邮箱已被注册!')
        return em
Esempio n. 21
0
class UserInfoForm(Form):
    username = fields.CharField(
        label='用户名',
        required=True,
        error_messages={'required': '用户名不能为空'},
        widget=widgets.TextInput(attrs={
            'placeholder': '用户名',
            'class': 'form-control data'
        }))
    nickname = fields.CharField(
        label='昵称',
        required=True,
        error_messages={'required': '昵称不能为空'},
        widget=widgets.TextInput(attrs={
            'placeholder': '昵称',
            'class': 'form-control data'
        }))
    password = fields.CharField(
        label='密码',
        required=True,
        error_messages={'required': '密码不能为空'},
        widget=widgets.PasswordInput(attrs={
            'placeholder': '密码',
            'class': 'form-control data'
        }))
    repaet_password = fields.CharField(
        label='再一次输入密码',
        required=True,
        error_messages={'required': '请再次输入密码'},
        widget=widgets.PasswordInput(attrs={
            'placeholder': '密码',
            'class': 'form-control data'
        }))
    email = fields.EmailField(
        label='邮箱',
        required=True,
        error_messages={
            'required': '邮箱不能为空',
            'invalid': '邮箱格式错误'
        },
        widget=widgets.EmailInput(attrs={
            'placeholder': '邮箱',
            'class': 'form-control data'
        }))
    tel = fields.CharField(
        label='手机号',
        required=True,
        error_messages={'required': '手机号码不能为空'},
        widget=widgets.NumberInput(attrs={
            'placeholder': '手机号码',
            'class': 'form-control data'
        }))
    avatar = fields.ImageField(
        label='头像', widget=widgets.FileInput(attrs={'class': 'avatar_file'}))
    valid_code = fields.CharField(
        label='验证码',
        required=True,
        error_messages={'required': '请输入验证码'},
        widget=widgets.TextInput(attrs={
            'placeholder': '验证码',
            'class': "form-control item"
        }))

    def clean(self):
        if self.cleaned_data.get('password') == self.cleaned_data.get(
                'repeat_password'):
            return self.cleaned_data
        else:
            raise ValidationError('密码不一致,请重新输入')

    def clean_tel(self):
        length = len(self.cleaned_data.get('tel'))
        if length == 11:
            return self.cleaned_data.get('tel')

        raise ValidationError('不是正确的手机号码')

    def clean_username(self):
        username = self.cleaned_data.get('username')
        if models.UserInfo.objects.filter(username=username):
            raise ValidationError('用户名已存在')
        else:
            return self.cleaned_data.get('username')

    def clean_password(self):
        if len(self.cleaned_data.get('password')) > 8:
            return self.cleaned_data.get('password')
        else:
            raise ValidationError('密码八位以上')

    def clean_email(self):
        email = self.cleaned_data.get('email')
        if models.UserInfo.objects.filter(email=email):
            raise ValidationError('邮箱已使用')
        else:
            return self.cleaned_data.get('email')

    def clean_valid_code(self):
        if self.cleaned_data.get('valid_code').upper(
        ) == self.request.session.get('valid_code').upper():
            return self.cleaned_data.get('valid_code')
        else:
            raise ValidationError('验证码错误')

    def __init__(self, request, *args, **kwargs):
        super(UserInfoForm, self).__init__(*args, **kwargs)
        self.request = request
Esempio n. 22
0
class ValidateProfileForm(forms.Form):
    frontal_photo = fields.ImageField(required=True)
    back_photo = fields.ImageField(required=True)
Esempio n. 23
0
class Update_userinfo(Form):
    '修改用户信息'
    username = fields.CharField(max_length=32,
                                min_length=2,
                                required=True,
                                widget=widgets.TextInput(attrs={
                                    'class': "form-control",
                                    'placeholder': "用户名"
                                }))
    nickname = fields.CharField(max_length=32,
                                min_length=2,
                                required=True,
                                widget=widgets.TextInput(attrs={
                                    'class': "form-control",
                                    'placeholder': "昵称"
                                }))
    email = fields.EmailField(max_length=32,
                              min_length=2,
                              required=True,
                              widget=widgets.TextInput(attrs={
                                  'class': "form-control",
                                  'placeholder': "邮箱"
                              }))
    password = fields.CharField(
        max_length=32,
        min_length=2,
        required=True,
        widget=widgets.PasswordInput(attrs={
            'class': "form-control",
            'placeholder': "密码"
        }))
    password2 = fields.CharField(
        max_length=32,
        min_length=2,
        required=True,
        widget=widgets.PasswordInput(attrs={
            'class': "form-control",
            'placeholder': "请再次输入密码"
        }))
    check_code = fields.CharField(widget=widgets.TextInput(
        attrs={
            'class': "form-control",
            'placeholder': "验证码"
        }))
    avatar = fields.ImageField(widget=widgets.FileInput(
        attrs={
            'class': 'user_avatar',
            'style': "position: absolute;right: -460px;opacity:0"
        }),
                               required=False)

    # remember=fields.ChoiceField(widget=widgets.CheckboxInput)

    def __init__(self, request, *args, **kwargs):
        super(Update_userinfo, self).__init__(*args, **kwargs)
        self.request = request

    def clean_username(self):
        session_subtitle = self.request.session.get('subtitle')
        user_obj = models.UserInfo.objects.filter(
            blog__subtitle=session_subtitle).values('nid').first()
        input_username = self.cleaned_data.get('username')
        input_user_id = models.UserInfo.objects.filter(
            username=input_username).values('nid').first().get('nid')
        if input_user_id != None and input_user_id != user_obj.get('nid'):
            raise ValidationError('该用户名已经存在')
        return input_username

    def clean_check_code(self):
        input_code = self.cleaned_data.get('check_code')
        session_code = self.request.session.get('check_code')
        if input_code.upper() == session_code:
            return input_code
        raise ValidationError('验证码错误')

    def clean(self):
        password1 = self.cleaned_data.get('password')
        password2 = self.cleaned_data.get('password2')
        if password1 == password2:
            print('密码一致')
            return self.cleaned_data
        self.add_error('password2', ValidationError('密码不一致'))