Прежде всего, я очень новичок в программировании, но я очень стараюсь учиться, и мне это нравится:).
Это моя модель:
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.
Итак, последний вопрос: как мне добавить несколько атрибутов в мой мета класс?