Как добавить несколько атрибутов в формы django - PullRequest
0 голосов
/ 03 мая 2020

Прежде всего, я очень новичок в программировании, но я очень стараюсь учиться, и мне это нравится:).

Это моя модель:

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class PersoonGegevens(models.Model):
    # Voornaam en achternaam
    voornaam = models.CharField(max_length=265)
    achternaam = models.CharField(max_length=265)

    #Gender keuze
    MENEER = 'Mr'
    MEVROUW = 'Mvr'
    GENDER = [
        ('Mr', 'Meneer'),
        ('Mvr', 'Mevrouw'),
    ]
    gender = models.CharField(max_length=3, choices=GENDER, default=MENEER,)

    #Geboortedatum
    geboortedatum = models.DateField(auto_now=False)

    #emailfield
    email = models.EmailField(max_length=265, unique=True)

    #username
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.user.username

Это моя форма:

from django import forms
from registratie.models import PersoonGegevens
from django.contrib.auth.models import User

    class PersoonGegevensForm(forms.ModelForm):

        class Meta():
            model = PersoonGegevens
            fields = ('voornaam', 'achternaam', 'gender', 'geboortedatum', 'email')

    class UsernameAndPasswordForm(forms.ModelForm):

        password = forms.CharField(widget=forms.PasswordInput)

        class Meta():
            model = User
            fields = ('username', 'password')

Это мои собственные фильтры:

from django import template

register = template.Library()

@register.filter(name='addclass')
def addclass(value, arg):
    return value.as_widget(attrs={'class': arg})

Это мой HTML код, например:

                        <div class="wrap-input100 validate-input m-b-16" >
                            {{pg.voornaam|addclass:'input100'}}
                            <span class="focus-input100"></span>
                        </div>

задница, которую вы видите я добавил класс с фильтром, но я также хочу добавить другие атрибуты, и теперь я увидел на inte rnet код виджета: widget = forms.TextInput (attrs = {'placeholder': 'Email', 'class' : 'myClass', 'size': 'mySize'})). Но это добавляется к forms.fields, и я использую свои модели как поле с классом Meta.

Итак, последний вопрос: как мне добавить несколько атрибутов в мой мета класс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...