之间有什么区别
def post(self, request, *args, **kwargs):
if form.is_valid():
order = form.save(commit=False)
order.user = request.user
order.save()
return redirect('orders:success')
和
def post(self, request, *args, **kwargs):
if form.is_valid():
order = form.save(commit=False)
order.user = request.user
order.save()
return render(
request,
'orders/success.html',
{}
)
我认为这些完全相同。
有什么不同吗?
答案 0 :(得分:5)
两者在重定向给出HttpResponseRedirect的地方完全不同 你已经过去的论点。
示例
return redirect('https://example.com/')
带您进入https://example.com/页面
return render(request,'/result.html',{'foo':'bar'})
将上下文字典呈现到模板“result.html”并返回带有该呈现文本的HttpResponse对象
result.html ... {} FOO ... 其中foo将被bar取代 有关详细信息,请查看此django docs
答案 1 :(得分:4)
渲染函数Combines a given template with a given context dictionary and returns an HttpResponse object with that rendered text.
您请求一个页面,render
函数返回它。
redirect
函数向给定的URL发送另一个请求。