问题说明
1 - 我试图在向导上呈现两个带有字段的表单 . 用户字段和配置文件字段(在OneToOne关系上) . 最终游戏是在帐户注册时完成 Profiles 和用户数据 . 现在我已经设法实现了这个视图中代码的类似变化 . 真正的问题在于以下
2-创建帐户后,图像不会保存到数据库中 . 请知道我已经完成以下操作 - 在设置和主站点中设置媒体根选项url -images也从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'),
TraceBack
文件“C:\ Users \ Rashid Thompson \ Desktop \ workspace \ python \ django \ sal1 \ venv \ lib \ site-packages \ django \ core \ handlers \ exception.py”in 35 35. response = get_response(request)File _get_response 128中的“C:\ Users \ Rashid Thompson \ Desktop \ workspace \ python \ django \ sal1 \ venv \ lib \ site-packages \ django \ core \ handlers \ base.py”.response = self.process_exception_by_middleware(e,request )_get_response 126中的文件“C:\ Users \ Rashid Thompson \ Desktop \ workspace \ python \ django \ sal1 \ venv \ lib \ site-packages \ django \ core \ handlers \ base.py”.response = wrapped_callback(request,* callback_args,** callback_kwargs)文件“C:\ Users \ Rashid Thompson \ Desktop \ workspace \ python \ django \ sal1 \ venv \ lib \ site-packages \ django \ views \ generic \ base.py”在视图69中 . 返回self .dispatch(request,* args,** kwargs)文件“C:\ Users \ Rashid Thompson \ Desktop \ workspace \ python \ django \ sal1 \ venv \ lib \ site-packages \ django \ views \ generic \ base.py”在dispatch 89. return handler(request,* args,** kwargs)文件“C:\ Users \ Rashid Thompson \ Desktop \ workspace \ p获取168. ython \ django \ sal1 \ venv \ lib \ site-packages \ django \ views \ generic \ edit.py“返回super() . get(request,* args,** kwargs)文件”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 :\ _用户\ 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( )get_form 33中的文件“C:\ Users \ Rashid Thompson \ Desktop \ workspace \ python \ django \ sal1 \ venv \ lib \ site-packages \ django \ views \ generic \ edit.py” . 返回form_class(** self . get_form_kwargs())异常类型:/ account / register / Exception中的TypeError值:'tuple'对象不可调用