django 中 view.py 中的语法无效。?
invalid syntax in view.py in django.?
我在 Django 中遇到错误:语法无效 (views.py)。
def deals(request):
form = deals()
if request.method == "POST":
form = deals(request.POST, request.FILES)
if form.is_valid():
form.save()
else:
return render_to_response("deals.html", {'form':form}, context_instance=RequestContext(request))
else:
form = deals()
return render_to_response("deals.html", {'form':form}, context_instance=RequestContext(request))
问题实际上是缩进的问题,表现为语法错误。 if form.is_valid()
开头的四行应缩进一级。
但是,这仍然不是推荐的模式。你根本不需要内部 else
,你必须在成功后重定向 post.
def deals(request):
form = DealsForm()
if request.method == "POST":
form = DealsForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('/') # or wherever
else:
form = DealsForm()
return render(request "deals.html", {'form':form})
我还使用了 render
快捷方式而不是 render_to_response
,因为它会自动使用 RequestContext。
请注意,所有这些都在文档中明确给出;没有理由做任何其他事情。
我在 Django 中遇到错误:语法无效 (views.py)。
def deals(request):
form = deals()
if request.method == "POST":
form = deals(request.POST, request.FILES)
if form.is_valid():
form.save()
else:
return render_to_response("deals.html", {'form':form}, context_instance=RequestContext(request))
else:
form = deals()
return render_to_response("deals.html", {'form':form}, context_instance=RequestContext(request))
问题实际上是缩进的问题,表现为语法错误。 if form.is_valid()
开头的四行应缩进一级。
但是,这仍然不是推荐的模式。你根本不需要内部 else
,你必须在成功后重定向 post.
def deals(request):
form = DealsForm()
if request.method == "POST":
form = DealsForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('/') # or wherever
else:
form = DealsForm()
return render(request "deals.html", {'form':form})
我还使用了 render
快捷方式而不是 render_to_response
,因为它会自动使用 RequestContext。
请注意,所有这些都在文档中明确给出;没有理由做任何其他事情。