У меня возникла ошибка в файле forms.py проекта
from django import forms
from django.core import validators
from matplotlib import widgets
from .models import *
class Userregistration(forms.ModelForm):
class Meta:
model=User
fields=['username','password','name','email_id','contact','address']
widgets={
'username':forms.CharField(attrs={'class':'form-control'}),
'password':forms.PasswordInput(attrs={'class':'form-control'}),
'name':forms.CharField(attrs={'class':'form-control'}),
'email_id':forms.EmailField(attrs={'class':'form-control'}),
'contact':forms.CharField(attrs={'class':'form-control'}),
'address':forms.CharField(attrs={'class':'form-control'}),
}
он показывает мне typeerror:'__init()'got an unexpected keyword argument 'attrs'
attrs - это не аргумент поля, это аргумент виджета.
file = forms.FileField(widget=forms.FileInput(attrs={'class': 'File'}))
А CharField [Django-doc] является не виджетом, это *поле формы. Виджет по умолчанию для CharField - это TextInput [Djangoo- doc], а для EmailField [Django-doc] - это EmailInput [Django-doc]:
class Userregistration(forms.ModelForm):
class Meta:
model=User
fields=['username','password','name','email_id','contact','address']
widgets={
'username':forms.TextInput(attrs={'class':'form-control'}),
'password':forms.PasswordInput(attrs={'class':'form-control'}),
'name':forms.TextInput(attrs={'class':'form-control'}),
'email_id':forms.EmailInput(attrs={'class':'form-control'}),
'contact':forms.TextInput(attrs={'class':'form-control'}),
'address':forms.TextInput(attrs={'class':'form-control'}),
}
Django forms.CharField() не является виджетом. Поэтому измените ваш CharField на TextInput. Вы можете посмотреть Built-in widgets[Django Doc] для более подробной информации.
from django import forms
from django.core import validators
from matplotlib import widgets
from .models import *
class Userregistration(forms.ModelForm):
class Meta:
model=User
fields=['username','password','name','email_id','contact','address']
widgets={
'username':forms.TextInput(attrs={'class': 'form-control'}),
'password':forms.PasswordInput(attrs={'class':'form-control'}),
'name':forms.TextInput(attrs={'class': 'form-control'}),
'email_id':forms.EmailInput(attrs={'class':'form-control'}),
'contact':forms.TextInput(attrs={'class': 'form-control'}),
'address':forms.TextInput(attrs={'class': 'form-control'}),
}