我的 Django 表单如何获取当前用户名和电子邮件并将它们提交到另一个数据库表中?

克莱德·穆伦加

在我的Django项目我有一个表格VisitorRegForm,其收集scanned_idbody_temp并提交数据到我的数据库表ClinicalData,因为目前用户已经登录,我怎么能做出这种形式也可以抓当前登录的用户usernameemail(注:usernameemail均创建从内置的Django用户模型:),并提交这四个项目'scanned_id', 'body_temp', 'username', 'email'到数据库表ClinicalData

不要介意缺少的细节和输入,表单可以工作并且能够提交'scanned_id', 'body_temp'. 帮助我以最简单的方式提交这四个项目:'scanned_id', 'body_temp', 'username', 'email'查看以下文件中显示的详细信息: 哪里应该更容易实现这一点;在 views.py 或模板文件中?

表格.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']

模型.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)
    ...

视图.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>
阿马杜母猪

视图.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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我将如何获取电子邮件和用户名的数据?

我如何让django-allauth发送HTML电子邮件

我如何获取一个类对象的ID,在另一个类中并将其存储在数据库中-Django

如何通过Django表单在我的电子邮件中发送信息?-Django 2

引用Django中另一个数据库的视图

如何在没有任何电子邮件/用户名的情况下将我的电子邮件/用户名添加到旧提交中?

我的表单未向数据库添加数据-Django

如何将用户名从用户模型关联到Django中的另一个模型?

我们如何在Django中从数据库中随机获取两个以上的用户?

如何使用提交按钮更新我的Django数据库?

如何为django中的数据库中的当前数据创建一个表单?

在我的wp网站中获取另一个数据库内容

如何确保用户不会删除我的网站中的另一个用户对象[Django]

我的Django表单数据不会保存到我的数据库中

Django 如何通过用户名访问另一个对象?

我如何获取用户查看数据并将其插入另一个表

将用户从数据库迁移到 Django 上的另一个数据库

如何从我的数据库中获取一些内容以显示在我的 django html 项目中

我如何检查 Django 中存在的用户名和邮件

Django 模板。我输入了我的邮件参数,如何使用包含将它们发送到另一个 html?

Django无法从另一个表中的数据库中获取值

提交表单时,如何检查用户电子邮件是否已存在于我的数据库中?

我想用我从我的数据库中获取的数据填充我的表单元素,并使用 ajax 在另一个 php 文件中

我如何在 json 文件中获取每个 json elemet 并将它们放入一个数组中

在 Django 模型中,我可以获取字段的值、处理它并将其存储在另一个字段中吗?

Django-Admin 和 Django-Summernote 在我的表单中创建一个文件字段

如何在 Django 中使用 postgres 数据库使用(用户名、电子邮件、密码、年龄和性别)创建登录和注册表单?

Laravel PHP 表单不会提交到数据库或在 web.php 中识别我的路由(但适用于我的第一个表单)

我想编写一个控制台应用程序,从用户那里获取 int 值并将它们放在一个数组中