コード例 #1
0
    def test_filter_for_widget_class_name(self):
        form = RegistrationForm()

        config = FormConfig()
        config.configure('widget',
                         widgets.TextInput(),
                         filter=ConfigFilter('Textarea'))

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        # swap widgets TextInput <> Textarea

        config = FormConfig()
        config.configure('widget',
                         widgets.Textarea(),
                         filter=ConfigFilter('TextInput'))
        config.configure('widget',
                         widgets.TextInput(),
                         filter=ConfigFilter('Textarea'))

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.Textarea)
コード例 #2
0
class SimpleForm(forms.Form):
    name = forms.CharField(
        max_length=64, widget=widgets.TextInput(attrs={"placeholder": "Jane Doe"})
    )
    email = forms.CharField(
        max_length=128,
        widget=widgets.TextInput(attrs={"placeholder": "*****@*****.**"}),
    )
    tos = forms.BooleanField(
        label="", widget=SwitchInput(), help_text="Terms of Service"
    )
コード例 #3
0
 class Meta:
     model = {{ cookiecutter.main_model }}
     fields = ('description', 'due_to',)
     widgets = {
         'description': widgets.TextInput(),
         'due_to': widgets.DateTimeInput(),
     }
コード例 #4
0
class LoginForm(AuthenticationForm, forms.Form):
    """
    Override the default authentication
    """
    message_incorrect_password = "******"
    message_inactive = "Usuário está inativo"

    username = forms.CharField(max_length=76, 
                    widget=widgets.TextInput(attrs={'placeholder': 'Email or Username'}))
    password = forms.CharField(widget=widgets.PasswordInput(attrs={'placeholder': 'Password'}))

    def clean(self):
        username = self.cleaned_data.get('username')
        password = self.cleaned_data.get('password')

        if username and password:
            self.user_cache = authenticate(username=username, password=password)
            if (self.user_cache is None):
                raise forms.ValidationError(self.message_incorrect_password)
            if not self.user_cache.is_active:
                raise forms.ValidationError(self.message_inactive)
        return self.cleaned_data
コード例 #5
0
class BasicForm(forms.Form):
    """
    TODO:--------------------------
    input           TextInput               OK
    inputN          NumberInput             OK
    inputEmail      EmailInput
    textarea        TextInput               OK
    drowpdown       Select                  OK
    drowpdown       SelectMultiple          OK
    checkbox        CheckboxInput
    checkbox2       MultiCheckbox?
    radiobox        RadioSelect
    date            DateInput
    time            TimeInput
    datetime        DateTimeInput
    """

    COLORS_CHOICES = [
        ('blue', 'Blue'),
        ('green', 'Green'),
        ('black', 'Black'),
    ]

    name = forms.CharField(max_length=32, widget=widgets.TextInput())
    year = forms.IntegerField(widget=widgets.NumberInput())
    description = forms.CharField(max_length=32, widget=widgets.Textarea(attrs={'rows': '4'}))
    color = forms.ChoiceField(widget=widgets.Select(), choices=COLORS_CHOICES)
    colors = forms.MultipleChoiceField(widget=widgets.Select(attrs={'multiple': True}), choices=COLORS_CHOICES)
    is_boolean = forms.CharField(max_length=32, widget=widgets.CheckboxInput())
    option = forms.ChoiceField(widget=widgets.RadioSelect(), choices=COLORS_CHOICES)
    is_not_boolean = forms.CharField(max_length=32, widget=widgets.CheckboxInput())
    option_again = forms.CharField(max_length=32, widget=widgets.CheckboxInput())

    def __init__(self, *args, **kwargs):
        super(BasicForm, self).__init__(*args, **kwargs)
        self.fields["year"].initial = 2021