У меня есть приложение, которое позволяет вошедшему в систему пользователю создавать объект Person.Этот объект person имеет текущего зарегистрированного пользователя как своего владельца.Но когда я сохраняю форму, она выдает следующую ошибку
global name 'request' is not defined
Я пытаюсь добиться этого, используя Django CreateView
отслеживание ошибок
Traceback:
File "C:\Users\BITSWI~1\Desktop\Maala\Maala\lib\site-packages\django\core\handlers\exception.py" in inner
41. response = get_response(request)
File "C:\Users\BITSWI~1\Desktop\Maala\Maala\lib\site-packages\django\core\handlers\base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "C:\Users\BITSWI~1\Desktop\Maala\Maala\lib\site-packages\django\core\handlers\base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\BITSWI~1\Desktop\Maala\Maala\lib\site-packages\django\views\generic\base.py" in view
68. return self.dispatch(request, *args, **kwargs)
File "C:\Users\BITSWI~1\Desktop\Maala\Maala\lib\site-packages\django\views\generic\base.py" in dispatch
88. return handler(request, *args, **kwargs)
File "C:\Users\BITSWI~1\Desktop\Maala\Maala\lib\site-packages\django\views\generic\edit.py" in post
217. return super(BaseCreateView, self).post(request, *args, **kwargs)
File "C:\Users\BITSWI~1\Desktop\Maala\Maala\lib\site-packages\django\views\generic\edit.py" in post
183. return self.form_valid(form)
File "C:\Users\Bitswits 3\Desktop\Maala\MaalaWeddings\userfiles\views.py" in form_valid
120. obj.user_relation = request.user
Exception Type: NameError at /Personadd/
Exception Value: global name 'request' is not defined
Views.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import *
from django.contrib.admin.views.decorators import staff_member_required
from .forms import *
from django.shortcuts import *
from .models import *
from django.contrib.auth.forms import *
from django.http import *
from datetime import *
from django.contrib.auth import *
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.views.generic import CreateView, ListView, DetailView
from django.views import generic
from .models import *
import requests
class PersonCreate(CreateView):
model = PersonData
template_name = "userfiles/add-person.html"
fields = [
'person_first_name',
'person_last_name',
'person_address',
'person_email',
'person_contact_number',
'person_members' ]
def form_valid(self, form):
obj = form.save(commit=False)
obj.user_relation = request.user
obj.save()
return HttpResponse("DONE")
models.py
class PersonData(models.Model):
user_relation = models.ForeignKey(
User, on_delete=models.CASCADE)
person_first_name = models.CharField("First Name", max_length=25)
person_last_name = models.CharField("last Name", max_length=25)
person_address = models.CharField("Address", max_length=512)
person_email = models.EmailField("Email", max_length=512)
person_contact_number = models.PositiveIntegerField("Phone Number", blank=True, null=True)
person_members = models.PositiveSmallIntegerField(
"Family members", blank=True, null=True)
Я не могу понять, почему этоошибка, даже возникающая в первую очередь, так как я думал, что request используется везде в Django