django - Django:没有返回 HttpResponse 对象错误
问题描述
我正在尝试制作一个 Post 表单,但是发生了 HttPResponse。在我的代码中,有一个重定向方法,我认为它被认为是一个 httpresponse,不是吗?
我只是一个初学者,所以如果有人能找到一个简单的错误,我将不胜感激
from django.shortcuts import render,redirect
from .forms import DayCreateForm
def index(request):
return render(request,'diary/day_list.html')
def add(request):
form = DayCreateForm(request.POST or None)
if request.method == 'POST'and form.is_valid():
form.save()
return redirect('diary:index')
context ={
'form':form
}
return render(request,'diary/day_form.html',context)
解决方案
如果请求的方法不是HTTP POST
. 所以,试试下面的片段
from django.http.response import HttpResponse
def add(request):
if request.method == 'POST':
form = DayCreateForm(request.POST or None)
if form.is_valid():
form.save()
return redirect('diary:index')
else:
return HttpResponse("form is not valid")
else:
form = DayCreateForm()
context = {
'form': form
}
return render(request, 'diary/day_form.html', context)
推荐阅读
- c++ - 通过 Qt 中的线程调用 Rust 库
- android - android studio项目连接到我的firebase数据库的问题
- python - Python 正则表达式错误:缺少 ),位置 35 处未终止的子模式
- flutter - 如何在 Flutter 中升级开发依赖项
- python - LabelEncoder 对象不可下标
- php - 如果它是在线托管的,如何从 php 中获取一些价值
- php - 两个带有 JWT 的自定义身份验证 api laravel
- sql - 按年份的行总和与总计
- git - 为什么 OpenSSL 存储库使用 git 协议?
- reactjs - 将脚本标签添加到 React/JSX 并执行它的内容