python-视图未返回HttpResponse对象.它返回None
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-视图未返回HttpResponse对象.它返回None,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1474字,纯文字阅读大概需要3分钟。
内容图文
![python-视图未返回HttpResponse对象.它返回None](/upload/InfoBanner/zyjiaocheng/683/1a725af427c54540b8d5ce2c61554236.jpg)
下面的视图给我使用POST方法时的错误.我正在尝试将模型数据加载到表单中,允许用户进行编辑,然后更新数据库.当我尝试保存更改时,出现上述错误.
def edit(request, row_id):
rating = get_object_or_404(Rating, pk=row_id)
context = {'form': rating}
if request.method == "POST":
form = RatingForm(request.POST)
if form.is_valid():
form.save()
return redirect('home.html')
else:
return render(
request,
'ratings/entry_def.html',
context
)
这是来自终端的跟踪.
[15/Apr/2016 22:44:11] "GET / HTTP/1.1" 200 1554
[15/Apr/2016 22:44:12] "GET /rating/edit/1/ HTTP/1.1" 200 919
Internal Server Error: /rating/edit/1/
Traceback (most recent call last):
File "/Users/michelecollender/ENVlag/lib/python2.7/site-packages/django/core/handlers/base.py", line 158, in get_response
% (callback.__module__, view_name))
ValueError: The view ratings.views.edit didn't return an HttpResponse object. It returned None instead.
解决方法:
如果要重定向,则为form.is_valid(),但该表单无效吗?在这种情况下没有执行任何代码?没有代码.当函数未明确返回值时,期望返回值的调用方将被赋予None.因此,错误.
您可以尝试这样的事情:
def edit(request, row_id):
rating = get_object_or_404(Rating, pk=row_id)
context = {'form': rating}
if request.method == "POST":
form = RatingForm(request.POST)
if form.is_valid():
form.save()
return redirect('home.html')
else :
return render(request, 'ratings/entry_def.html',
{'form': form})
else:
return render(
request,
'ratings/entry_def.html',
context
)
这将导致该表单再次显示给用户,并且如果您已经正确编码了模板,它将显示哪些字段无效.
内容总结
以上是互联网集市为您收集整理的python-视图未返回HttpResponse对象.它返回None全部内容,希望文章能够帮你解决python-视图未返回HttpResponse对象.它返回None所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。