python - 当我试图在似乎时间放两个表格时我不能我不知道为什么一切都是好的和真实的
问题描述
/update_profile/ 处的 ValueError
无法更改配置文件,因为数据未验证。
请求方法:POST 请求 URL: http: //127.0.0.1 :8000/update_profile/ Django 版本:3.0.5 异常类型:ValueError 异常值:
无法更改配置文件,因为数据未验证。
异常位置:D:\project_4\my_project\lib\site-packages\django\forms\models.py 保存,第 454 行 Python 可执行文件:D:\project_4\my_project\Scripts\python.exe Python 版本:3.7.6 Python小路:
['C:\Users\pc\Desktop\template\project_4\my_project\src\project', 'D:\project_4\my_project\Scripts\python37.zip', 'c:\users\pc\appdata\local\programs \python\python37-32\DLLs', 'c:\users\pc\appdata\local\programs\python\python37-32\lib', 'c:\users\pc\appdata\local\programs\python\python37 -32'、'D:\project_4\my_project'、'D:\project_4\my_project\lib\site-packages']
服务器时间:2020 年 5 月 16 日星期六 14:51:34 +0000 Traceback 切换到复制粘贴视图
D:\project_4\my_project\lib\site-packages\django\core\handlers\exception.py in inner
response = get_response(request)
…
▶ Local vars
D:\project_4\my_project\lib\site-packages\django\core\handlers\base.py in _get_response
response = self.process_exception_by_middleware(e, request)
…
▶ Local vars
D:\project_4\my_project\lib\site-packages\django\core\handlers\base.py in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
…
▶ Local vars
D:\project_4\my_project\lib\site-packages\django\contrib\auth\decorators.py in _wrapped_view
return view_func(request, *args, **kwargs)
…
▶ Local vars
C:\Users\pc\Desktop\template\project_4\my_project\src\project\accounts\views.py in update_profile
profile_form.save()
…
▶ Local vars
D:\project_4\my_project\lib\site-packages\django\forms\models.py in save
'created' if self.instance._state.adding else 'changed',
…
▶ Local vars
这是我的观点:
@login_required()
def update_profile(request):
if request.method == 'POST':
user_form = UpdateUserForm(request.POST, instance=request.user)
profile_form = UpdateProfileForm(request.POST, request.FILES, instance=request.user.profile)
if user_form.is_valid and profile_form.is_valid:
user_form.save()
profile_form.save()
return redirect('/')
else:
user_form = UpdateUserForm(instance=request.user)
profile_form = UpdateProfileForm(instance=request.user.profile)
context = {
'user_form': user_form,
'profile_form': profile_form,
}
return render(request, 'Update_profile.html', context)
解决方案
您需要is_valid()
在 views.py 文件中调用方法。添加括号以避免错误的验证。如果您忘记了它们,python 会获取被视为 True 值的函数。
推荐阅读
- go - 超时等待Golang中的进程而不杀死它?
- reactjs - 数组中的 Firebase 不支持的字段值错误
- php - 运行两个 mySql 查询以获取数据
- laravel - 基本 URL 是非 www 导致路由非 www
- python - 具有 Selenoid 设置所需功能的机器人框架
- sql - 基于每个组 [base1.col1, base2.col2] 的 table1 的 SQL 最新条目
- r - 使用索引数据为分面 geom_point 图定义 X 和 y 数据
- flutter - 未处理的异常:NoSuchMethodError:在 null 上调用了方法“调用”
- python - 如何在追加和读取模式下循环文件行时插入文本
- swift - 如何在 NSTextTable 中获取选定的文本块