Как отключить поля пользователя для отображения пользовательской формы в моем шаблоне?
У меня проблема с формой. Это форма, которая работает как "редактировать профиль". Я просто хочу стилизовать ее, мне не нравится, как она выглядит, если я просто помещаю {{ форму }} в свой шаблон, я использую widget_tweaks, чтобы придать ей лучший вид.
Проблема в том, что когда я использую widget_tweaks и нажимаю кнопку "Сохранить", это не работает. Но если вместо этого я использую нестилизованную форму {{ form }}, она редактирует поля.
Я думаю, что при отображении полей с помощью widget_tweaks я не включаю поля пользователя по умолчанию, такие как: пароль, последний логин и т.д., потому что они мне не нужны, я думаю, что это влияет на то, что моя форма не работает. Есть ли у вас идеи как отключить поля пользователя по умолчанию и могу ли я использовать widget_tweaks или лучше использовать forms.py?
models.py
COUNTRIES=(
('EUA', ('EUA')),
('Canada', ('Canada')),
('Other', ('Other')),
)
class CustomUser(AbstractUser):
phone1=models.IntegerField(default=0)
phone2=models.IntegerField(default=0)
fax=models.IntegerField(default=0)
website=models.CharField(max_length=100,default=0)
socialMedia1=models.CharField(max_length=100,default=0)
socialMedia2=models.CharField(max_length=100,default=0)
socialMedia3 = models.CharField(max_length=100,default=0)
alternativeContact=models.CharField(max_length=100,default=0)
country = models.CharField(max_length=100, default=0,choices=COUNTRIES)
address=models.CharField(max_length=100, default=0)
city=models.CharField(max_length=100,default=0)
state=models.CharField(max_length=100,default=0)
zip=models.CharField(max_length=10,default=0)
tax_percentage=models.IntegerField(default=0)
def __str__(self):
return self.phone1
admin.py
# Register your models here.
class CustomUserAdmin(UserAdmin):
add_form = UserCreationForm
form=UserChangeForm
model=CustomUser
list_display = ['pk','email','username','first_name','last_name']
add_fieldsets = UserAdmin.add_fieldsets+(
(None,{'fields':('email','first_name','last_name','image','location','phone1','phone2','fax','website',
'socialMedia1','socialMedia2','socialMedia3','alternativeContact','country','address',
'city','state','zip','tax_percentage')}),
)
fieldsets = UserAdmin.fieldsets+(
(None,{'fields':('email','first_name','last_name','image','location','phone1','phone2','fax','website',
'socialMedia1','socialMedia2','socialMedia3','alternativeContact','country','address',
'city','state','zip','tax_percentage')}),
)
admin.site.register(CustomUser)
admin.py
class EditProfilePageView(generic.UpdateView):
form = User()
template_name = 'Usuarios/edit-profile.html'
fields = ('__all__')
success_url = reverse_lazy('profile')
def get_object(self):
return self.request.user