UnboundLocalError: email局部变量赋值前被引用

2024-10-02 04:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

1.模型.py在

    class User(AbstractUser, BaseModel):
        full_name = models.CharField(max_length=64)
        addresss=models.CharField(max_length=40)
        phoneno=models.IntegerField(null=True, blank=True)
        email=models.EmailField()
        gender=models.IntegerField(choices=gender_choice,default='0')

class Student(BaseModel):
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    father_name=models.CharField(max_length=64)
    mother_name=models.CharField(max_length=60)
    date_of_birth=models.DateField(null=True)

    def __str__(self):
        return self.user.full_name

2。序列化程序.py在

^{pr2}$

4。py.py视图在

^{3}$

4。网址.py在

    router.register(r'students', views.StudentViewset)

当我试图添加学生时,会出现这样的错误

Internal Server Error: /students/
Traceback (most recent call last):
  File "/home/dinesh/.local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
    response = get_response(request)
  File "/home/dinesh/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/dinesh/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/dinesh/.local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/dinesh/.local/lib/python3.6/site-packages/rest_framework/viewsets.py", line 103, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/dinesh/.local/lib/python3.6/site-packages/rest_framework/views.py", line 483, in dispatch
    response = self.handle_exception(exc)
  File "/home/dinesh/.local/lib/python3.6/site-packages/rest_framework/views.py", line 443, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/home/dinesh/.local/lib/python3.6/site-packages/rest_framework/views.py", line 480, in dispatch
    response = handler(request, *args, **kwargs)
  File "/home/dinesh/Desktop/pro1/pro1/app1/views.py", line 50, in create
    user,created = User.objects.get_or_create(email= email,
UnboundLocalError: local variable 'email' referenced before assignment
[25/Jul/2018 12:04:05] "POST /students/ HTTP/1.1" 500 14800

那我怎么才能修正这个错误呢??我尝试了更多的想法,但我不能解决它…任何一个u plz帮助解决它


Tags: inpyselfhomemodelsresponselibpackages
1条回答
网友
1楼 · 发布于 2024-10-02 04:26:18

取消注释此行-

# email = first_name + '@schoolX.com' 

或将电子邮件设置为空-

^{pr2}$

请检查您的count > 0,因为如果不是,那么您就不会分配email变量,这就是原因

local variable 'email' referenced before assignment

您正在第行引用email

user,created = User.objects.get_or_create(email= email,...

如果count < 0分配它之前

相关问题 更多 >

    热门问题