Django 从另一个表单中检索数据

堆栈流

我是 Django 的新手,想知道当老师使用如下所示的 LoginFormView 登录时如何保存老师的电子邮件。教师登录后,可以使用 CreateClassForm 创建班级。

当老师创建新班级时,我在尝试将 ClassTeacherTeaches 模型存储到 CreateClassForm 下的数据库时遇到问题。如何从 LoginFormView 检索教师的电子邮件并存储教师的电子邮件并将自动递增的班级 ID(这是在教师创建新班级后创建)到 ClassTeacherTeaches 模型数据库中?

模型.py

class User(AbstractBaseUser):
    email = models.EmailField(max_length=100, primary_key=True)
    password = models.CharField(max_length=100, null=False)
    full_name = models.CharField(max_length=100, default="", null=False)
    USERNAME_FIELD = 'email'

    def get_full_name(self):
        return self.full_name

    def set_full_name(self, fname):
        self.full_name = fname

    def get_short_name(self):
        pass

    def get_full_name(self):
        pass

class Class(models.Model):
    classid = models.AutoField(primary_key=True)
    class_name = models.CharField(max_length=100, null=False)


class ClassTeacherTeaches(models.Model):
    class Meta:
        unique_together = (('classid', 'teacher_email'),)

    classid = models.ForeignKey(Class)
    teacher_email = models.ForeignKey(User)

表单.py

 class CreateClassForm(forms.Form):
        class_name = forms.CharField(widget=forms.widgets.TextInput(attrs={'placeholder': 'Module Code'}), label='')

        class Meta:
            model = Class
            fields = ['class_name']

        def save(self, commit=True):
            data = self.cleaned_data
            module = Class(class_name=data['class_name'])

            if commit:
                module.save()
            return module

  class LoginFormView(FormView):
            form_class = LoginForm
            template_name = 'App/index.html'
            success_url = '/'

            def post(self, request, *args, **kwargs):
                login_form = self.form_class(request.POST)
                register_form = RegistrationForm()
                if login_form.is_valid():
                    auth = EmailAuthBackend()
                    user = auth.authenticate(email=request.POST['email'], password=request.POST['password'])
                    if user is not None:

                        django_login(request, user)
                        return HttpResponseRedirect("../instructormodule")

                else:
                    return self.render_to_response(
                        self.get_context_data(
                            login_form=login_form,
                            register_form=register_form
                        )
                    )  
丹尼尔罗斯曼

您不会“从登录表单中检索教师的电子邮件”。教师已登录; 因此,您从登录的用户检索电子邮件。

class CreateClassForm(forms.Form):
    ...
    def save(self, commit=True):
        data = self.cleaned_data
        module = Class(class_name=data['class_name'])
        module.teacher_email = self.request.user

        if commit:
            module.save()
        return module

请注意,调用该字段是没有意义的teacher_email它指向整个 User 模型,所以它应该被称为 just teacher

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django详细视图:在详细视图中从另一个模型检索数据

来自分类Dev

Django html 表单:使用 get 请求获取数据并传递到另一个视图

来自分类Dev

Django-将<select>表单POST数据从一个视图传递到另一个视图

来自分类Dev

为与Django中另一个实例相关的每个模型实例创建一个表单字段

来自分类Dev

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

来自分类Dev

Django:使用另一个CharField中的数据自动生成CharField

来自分类Dev

Django-从Detailview中的另一个模型获取数据

来自分类Dev

Django - 将另一个函数中的数据传递给 html

来自分类Dev

在 Django 中,如何使用基于函数的视图中的另一个模型数据

来自分类Dev

从ajax POST方法获取数据后,在django中打开另一个窗口

来自分类Dev

如何最好地使用另一个 Docker 容器中的 Django 数据库?

来自分类Dev

Django根据另一个字段表单更新表单

来自分类Dev

在Django中请求另一个用户对象

来自分类Dev

Django-从一个视图到另一个视图传递POST数据,以及表单验证错误。

来自分类Dev

在Django中(“非管理员”)“保存并添加另一个”:提交然后预先填充表单的一个字段

来自分类Dev

Django内联表单集添加另一个并删除

来自分类Dev

Django-根据另一个字段过滤表单字段queryset

来自分类Dev

在 Django 中,如何从另一个模板引用一个模板?

来自分类Dev

如何将数据从回调转移到Django中的另一个视图?

来自分类Dev

django:无法重定向到 django 中的另一个视图

来自分类Dev

Django:将“选择”从另一个数据库传递到MultipleChoiceField

来自分类Dev

在保留数据的同时将Django外键移至另一个模型?

来自分类Dev

如何从另一个表Django Rest框架获取相关数据

来自分类Dev

Django Python如何从另一个sessionid cookie获取数据?

来自分类Dev

如何存储数据并在另一个视图中显示它们?Django的

来自分类Dev

Django:如何从另一个模型生成模型的数据?

来自分类Dev

如何与另一个 Python 应用程序共享 Django 数据库?

来自分类Dev

在另一个 Django 应用程序中使用数据

来自分类Dev

Django,如何将数据对象从一个模板传递到另一个模板

Related 相关文章

  1. 1

    Django详细视图:在详细视图中从另一个模型检索数据

  2. 2

    Django html 表单:使用 get 请求获取数据并传递到另一个视图

  3. 3

    Django-将<select>表单POST数据从一个视图传递到另一个视图

  4. 4

    为与Django中另一个实例相关的每个模型实例创建一个表单字段

  5. 5

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

  6. 6

    Django:使用另一个CharField中的数据自动生成CharField

  7. 7

    Django-从Detailview中的另一个模型获取数据

  8. 8

    Django - 将另一个函数中的数据传递给 html

  9. 9

    在 Django 中,如何使用基于函数的视图中的另一个模型数据

  10. 10

    从ajax POST方法获取数据后,在django中打开另一个窗口

  11. 11

    如何最好地使用另一个 Docker 容器中的 Django 数据库?

  12. 12

    Django根据另一个字段表单更新表单

  13. 13

    在Django中请求另一个用户对象

  14. 14

    Django-从一个视图到另一个视图传递POST数据,以及表单验证错误。

  15. 15

    在Django中(“非管理员”)“保存并添加另一个”:提交然后预先填充表单的一个字段

  16. 16

    Django内联表单集添加另一个并删除

  17. 17

    Django-根据另一个字段过滤表单字段queryset

  18. 18

    在 Django 中,如何从另一个模板引用一个模板?

  19. 19

    如何将数据从回调转移到Django中的另一个视图?

  20. 20

    django:无法重定向到 django 中的另一个视图

  21. 21

    Django:将“选择”从另一个数据库传递到MultipleChoiceField

  22. 22

    在保留数据的同时将Django外键移至另一个模型?

  23. 23

    如何从另一个表Django Rest框架获取相关数据

  24. 24

    Django Python如何从另一个sessionid cookie获取数据?

  25. 25

    如何存储数据并在另一个视图中显示它们?Django的

  26. 26

    Django:如何从另一个模型生成模型的数据?

  27. 27

    如何与另一个 Python 应用程序共享 Django 数据库?

  28. 28

    在另一个 Django 应用程序中使用数据

  29. 29

    Django,如何将数据对象从一个模板传递到另一个模板

热门标签

归档