0
我試圖擴展默認窗體並刪除Django-allauth註冊表單的標籤。大多數標籤都已成功刪除,但我無法刪除電子郵件字段的標籤。從SIgnUp表格中刪除標籤
forms.py
from django import forms
from .models import Profile
class SignupForm(forms.ModelForm):
gender = forms.CharField(max_length=1, label='Gender')
first_name = forms.CharField(max_length=50, label='First Name')
last_name = forms.CharField(max_length=50, label='Last Name')
birthday = forms.CharField(max_length=50, label='Birthday')
location = forms.CharField(max_length=50, label='Location')
def __init__(self, *args, **kwargs):
super(SignupForm, self).__init__(*args, **kwargs)
self.fields['first_name'].widget.attrs.update({'autofocus': 'autofocus'})
#remove labels for fields
for field_name in self.fields:
field = self.fields.get(field_name)
field.widget.attrs['placeholder'] = field.label
field.label =''
class Meta:
model = Profile
fields = ('first_name', 'last_name', 'gender', 'birthday', 'location')
def signup(self, request, user):
# Save your user
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.save()
# Save your profile
profile = Profile()
profile.user = user
profile.birthday = self.cleaned_data['birthday']
profile.location = self.cleaned_data['location']
profile.gender = self.cleaned_data['gender']
profile.save()
models.py
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
birthday = models.DateField(null=True, blank=True)
#first_name = models.CharField(max_length=100)
#last_name = models.CharField(max_length=100)
location = models.CharField(max_length=100)
timestamp = models.DateTimeField(auto_now_add= True, auto_now=False)
GENDER_CHOICES = (
('m', 'Male'),
('f', 'Female'),
)
# gender can take only one of the GENDER_CHOICES options
gender = models.CharField(max_length=1, choices=GENDER_CHOICES,
verbose_name='Gender')
def __str__(self):
return self.user.first_name
不這麼認爲作爲電子郵件字段標籤顯示出來(見上圖)。無論如何,我會試試這個。 THKS。 – zan
不幸的是,電子郵件標籤仍然出現,它的佔位符設置爲無。 – zan
嗨,這個電子郵件字段屬於用戶模型或配置文件模型嗎?我沒有看到電子郵件在個人資料模型表單字段中看到此電子郵件字段,但是您使用'profile.email = self.cleaned_data ['email']'設置電子郵件字段。所以我想知道你是什麼樣的模型看起來像..謝謝 –