Как получить данные о логине пользователя и разместить их в форме Django
Я в замешательстве, чтобы получить данные пользователя Логин и разместить их в формах. Мой вопрос в том, как это сделать?
authentication/models.py
class Account(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), unique=True)
full_name = models.CharField(max_length=150)
create_account = models.DateTimeField(default=timezone.now)
is_active = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_reviewer = models.BooleanField(default=False)
is_admin = models.BooleanField(default=False)
objects = CustomAccountManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['full_name']
def __str__(self):
return self.full_name
dashboard/models.py
class UserProfil(models.Model):
jenis_kelamin_choice = (
('Pria', 'Pria'),
('Wanita', 'Wanita' ),
)
user = models.OneToOneField(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,)
nik = models.CharField(max_length=11, null=True, unique=True)
nidn = models.CharField(max_length=11, null=True, unique=True)
dashboard/forms.py
class UserProfilForm(ModelForm):
class Meta:
model = UserProfil
fields = '__all__'
widgets = {
'user' : forms.TextInput({'class' : 'form-control form-control-user', 'id' :
'namaLengkap', 'placeholder' : 'Nama Lengkap'}),
'nidn' : forms.TextInput({'class' : 'form-control form-control-user', 'id' : 'nidn',
'placeholder' : 'Nomor Induk Dosen Nasional'}),
'nik' : forms.TextInput({'class' : 'form-control form-control-user', 'id' : 'nik',
'placeholder' : 'Nomor Induk Karyawan'}),
}
dashboard/views.py
class UserProfilTemplateView(FormView):
template_name = 'dashboard/profil.html'
form_class = UserProfilForm
def get(self, request, *args, **kwargs):
user = self.request.user
return self.render_to_response(self.get_context_data())
def form_valid(self, form):
messages.success(self.request, 'Data Profil Berhasil Disimpan.')
print(form.cleaned_data)
return super().form_valid(form)
Я хочу, чтобы имя пользователя отображалось в форме "Nama Lengkap", как мне это сделать?