AttributeError at /appointment/create-appointment/ '__proxy__' object has no attribute 'get'
Я создал форму создания записи на прием и форму бронирования записи на прием, когда бы я ни вошел в систему как врач или пользователь и попытался создать или забронировать запись на прием соответственно, он показывает мне ошибку после того, как я нажимаю копировать/вставить вид, чтобы узнать ошибку, которую я не получаю, пожалуйста, помогите мне. ниже приведена ошибка и код.
Request Method: GET
Request URL: http://127.0.0.1:8000/appointment/create-appointment/
Django Version: 3.2.7
Python Version: 3.9.6
Installed Applications:
['m1.apps.M1Config',
'authenticate_me.apps.LoginModuleConfig',
'appointment.apps.AppointmentConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "C:\Users\Ashraf\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\Ashraf\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\deprecation.py", line 119, in __call__
response = self.process_response(request, response)
File "C:\Users\Ashraf\AppData\Local\Programs\Python\Python39\lib\site-packages\django\middleware\clickjacking.py", line 26, in process_response
if response.get('X-Frame-Options') is not None:
Exception Type: AttributeError at /appointment/create-appointment/
Exception Value: '__proxy__' object has no attribute 'get'
код:
class AppointmentCreateView(CreateView):
template_name = 'appointment/create-appointment.html'
form_class = CreateAppointmentForm
extra_context = {
'title': 'Post New Appointment'
}
success_url = reverse_lazy('appointment:home1')
@method_decorator(login_required(login_url=reverse_lazy('authenticate_me:login')))
def dispatch(self, request, *args, **kwargs):
if not self.request.user.is_authenticated:
return reverse_lazy('authenticate_me:login')
if self.request.user.is_authenticated and self.request.user.is_doctor:
return reverse_lazy('authenticate_me:login')
return super().dispatch(self.request, *args, **kwargs)
def form_valid(self, form):
form.instance.user = self.request.user
return super(AppointmentCreateView, self).form_valid(form)
def post(self, request, *args, **kwargs):
self.object = None
form = self.get_form()
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
и для книжного назначения у меня был похожий код, только с другими формами и таблицей.
models.py:
class Appointment(models.Model):
department =(
('Dentistry',"Dentistry"),
('gynaecology',"gynaecology"),
('obstetrics',"obstetrics"),
('neurology',"neurology"),
('cardiology',"cardiology"),
('orthopaedics',"orthopaedics"),
(' eye-care'," eye-care"),
)
user = models.ForeignKey(User,on_delete=models.CASCADE)
full_name = models.CharField(max_length=100)
image = models.ImageField(null=True, blank=True)
location = models.CharField(max_length=100)
start_time = models.CharField(max_length=10)
end_time = models.CharField(max_length=10)
hospital_name = models.CharField(max_length=100)
department = models.CharField(choices=department, max_length=100)
qualification_name = models.CharField(max_length=100)
created_at = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.full_name
class BookAppointment(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
appointment = models.ForeignKey(Appointment, on_delete=models.CASCADE)
full_name = models.CharField(max_length=100)
message = models.TextField()
phone_number = models.CharField(max_length=120)
date = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.full_name
У меня была проблема в python manage.py migrate
модели в приложении appointment не мигрировали, поэтому я перенес свои модели в приложение authenticate, и оно создало db