首页 > 解决方案 > 尝试获取 request.user 以在表单中使用时未定义名称

问题描述

我知道这个问题被问了很多次,但是我在 stackoverflow 中发布的解决方案总是遇到同样的错误。我可能犯了一个简单的错误,但作为一个初学者,我真的不明白我的错误在哪里。

这是我的forms.py

from django import forms
from .models import *

class AddMark(forms.Form):

    def __init__(self, user, *args, **kwargs):
        self.user = user
        super(AddMark, self).__init__(*args, **kwargs)      
    
    teacher = Teacher.objects.filter(user = self.user)[:1]
    modules = Module.objects.filter(enseignants__in = (teacher))

    desc = forms.CharField(label='Description')
    coef = forms.FloatField(label='Coefficient')
    max_mark = forms.FloatField(label='Max Mark')
    module = forms.ChoiceField(label='Module',choices=modules)

似乎错误来自

    teacher = Teacher.objects.filter(user = self.user)[:1]

标签: pythondjangodjango-forms

解决方案


尝试这个:

def __init__(self, user, *args, **kwargs):
    user = user
    super(AddMark, self).__init__(*args, **kwargs) 

推荐阅读