Описание проблемы
1 - здесь я пытаюсь визуализировать две формы с их полями в мастере. Поля пользователя и поля профиля (в отношении OneToOne). Конечная игра - заполнить профиль и данные пользователя при регистрации учетной записи. Теперь мне удалось добиться этого, аналогичные варианты кода в представлениях. настоящая проблема заключается в следующем
2- Изображения не будут сохраняться в базе данных при создании учетной записи. Пожалуйста, знайте, что я сделал следующее - настроить параметры корня носителя в настройках и основных URL-адресах сайта -изображения также сохраняются в медиа-комнате от администратора django, но я считаю, что функциональность конкретно связана с моделями, которые я создал
мой шаблон довольно большой с элементами начальной загрузки, включенными в, я бы не стал его добавлять, однако он настроен для отображения определенных полей из двух форм
Ошибка моих взглядов
class RegisterView(CreateView):
model = User, UserProfile
form_class = RegistrationForm, UserProfileForm
def post(self, request, *args, **kwargs):
user_form = RegistrationForm(data=request.POST)
profile_form = UserProfileForm(data=request.POST)
if user_form.is_valid() and profile_form.is_valid():
user = user_form.save()
user.set_password(user.password)
user.save()
profile = profile_form.save(commit=False)
profile.user = user
if 'profile_photo' in request.FILES:
profile.profile_photo = request.FILES['profile_photo']
profile.save()
registered = True
else:
print(user_form.errors, profile_form.errors)
else:
user_form = RegistrationForm()
profile_form = UserProfileForm()
return render(request, 'accounts/registration.html',
{'user_form': user_form, 'profile_form': profile_form,
'registered': registered})
path('register/', RegisterView.as_view(), name='register'),
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\core\handlers\exception.py" in inner 35. response = get_response(request)
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\core\handlers\base.py" in _get_response 128. response = self.process_exception_by_middleware(e, request)
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\core\handlers\base.py" in _get_response 126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\views\generic\base.py" in view 69. return self.dispatch(request, *args, **kwargs)
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\views\generic\base.py" in dispatch 89. return handler(request, *args, **kwargs)
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\views\generic\edit.py" in get 168. return super().get(request, *args, **kwargs)
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\views\generic\edit.py" in get 133. return self.render_to_response(self.get_context_data())
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\views\generic\edit.py" in get_context_data 66. kwargs['form'] = self.get_form()
File "C:\Users\Rashid Thompson\Desktop\workspace\python\django\sal1\venv\lib\site-packages\django\views\generic\edit.py" in get_form 33. return form_class(**self.get_form_kwargs())
Exception Type: TypeError at /account/register/ Exception Value: 'tuple' object is not callable
относительно новичок в django, не могли бы вы предоставить фрагмент?
Это не то, как работают общие представления. Вы не можете указать две формы и две модели и ожидать, что представление знает, что делать. Поскольку вы уже переопределили метод post, вам, вероятно, следует сделать то же самое с методом get и вообще не беспокоиться о наследовании от CreateView.