Как моя форма django может получить текущее имя пользователя и email и отправить их в другую таблицу базы данных?

В моем проекте django есть форма VisitorRegForm, которая собирает scanned_id и body_temp и отправляет данные в таблицу базы данных ClinicalData, поскольку текущий пользователь уже вошел в систему, как я могу сделать так, чтобы эта форма также могла получить данные текущего вошедшего пользователя username и email (Примечание: username и email были созданы из встроенной модели django User) и отправлять эти четыре элемента: 'scanned_id', 'body_temp', 'username', 'email' в таблицу базы данных ClinicalData?

Не обращайте внимания на отсутствующие детали и инпорты, форма работает и я могу отправить 'scanned_id', 'body_temp'. Помогите мне найти самый простой способ, с помощью которого я смогу отправить эти четыре элемента: 'scanned_id', 'body_temp', 'username', 'email', глядя на детали, показанные в файлах ниже: Где проще этого добиться: в файле views.py или в файле шаблона?

forms.py

class VisitorRegForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']


class ScannerForm(ModelForm):
   class Meta:
      model = ClinicalData
      fields = ['scanned_id', 'body_temp', 'username', 'email']

models.py

class ClinicalData(models.Model):
    ...
    scanned_id = models.CharField(verbose_name="Scanned ID", max_length=50, null=True)
    body_temp = models.DecimalField(verbose_name="Body Temperature", max_digits=3, decimal_places=1, null=True)
    username = models.CharField(verbose_name="Facility Name", max_length=200, null=True)
    email = models.EmailField(verbose_name="Visitor Email", max_length=200, null=True)
    ...

views.py

Предполагаю, что мне может понадобиться две переменные здесь в представлениях, которые должны помочь мне, как те, которые я закомментировал, если это должно начинаться отсюда, помогите мне, как это должно быть успешным:

@login_required(login_url='login')
def scanEnter(request):

    #grab_username = function_to_grab_current_logged_in_username_HELP_ME_HERE
    #grab_email = function_to_grab_current_logged_in_user_email_HELP_ME_HERE

    form = ScannerForm(request.POST)
    if request.method == 'POST':
        form = ScannerForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('scanenter')
    context = {'form': form}
    return render(request, 'scan_enter_fac.html', context)

scan_enter_fac.html

<form action="" method="post">
    {% csrf_token %}
    <div class="">scanned_id<input type="text" id="multiple" class="form-control" placeholder="or Type ID here; e.g: ACCTS-147" name="scanned_id"></div>
    <div class="">body_temp<input type="text" class="form-control" placeholder="e.g: 36.5" name="body_temp"></div>
    <button type="submit" class="btn btn-danger btn-block">Submit</button>
</form>

Заранее спасибо.

views.py:

@login_required(login_url='login')
def scanEnter(request):

    #grab_username = function_to_grab_current_logged_in_username_HELP_ME_HERE
    #grab_email = function_to_grab_current_logged_in_user_email_HELP_ME_HERE

    form = ScannerForm(request.POST)
    if request.method == 'POST':
        form = ScannerForm(request.POST)
        if form.is_valid():
            form = form.save(commit=False)
            form.username = request.user.username #new
            form.email = request.user.email #new
            form.save()
            
            return redirect('scanenter')
    context = {'form': form}
    return render(request, 'scan_enter_fac.html', context)

scan_enter_fac.html

<form action="" method="post">
    {% csrf_token %}
    <div class="">{{ form.scanned_id }}</div>
    <div class="">{{ form.body_temp }}</div>
    <button type="submit" class="btn btn-danger btn-block">Submit</button>
</form>
Вернуться на верх