Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django HttpResponse与HttpResponseRedirect与render_-to_响应之间的区别是什么?_Django - Fatal编程技术网

Django HttpResponse与HttpResponseRedirect与render_-to_响应之间的区别是什么?

Django HttpResponse与HttpResponseRedirect与render_-to_响应之间的区别是什么?,django,Django,上面提到的事情给了我几乎相同的结果。我想知道它们的主要区别是什么 response=HttpResponse(“这是网页的文本”): 将使用HTTP代码200(确定)创建一个新的HttpResponse对象,并将内容传递给构造函数。一般来说,您应该只在非常小的响应中使用它(比如AJAX表单返回值,如果它非常简单的话——只是一个数字左右) HttpResponseRedirect(“http://example.com/”: 将创建一个新的HTTP代码为302的HttpResponse对象(临时找

上面提到的事情给了我几乎相同的结果。我想知道它们的主要区别是什么

  • response=HttpResponse(“这是网页的文本”)

    将使用HTTP代码200(确定)创建一个新的
    HttpResponse
    对象,并将内容传递给构造函数。一般来说,您应该只在非常小的响应中使用它(比如AJAX表单返回值,如果它非常简单的话——只是一个数字左右)

  • HttpResponseRedirect(“http://example.com/”

    将创建一个新的HTTP代码为302的
    HttpResponse
    对象(临时找到/移动)这只能用于重定向到另一个页面(例如,在成功发布表单后)

  • 从文档中:

    class-HttpResponseRedirect
    构造函数只接受一个参数——重定向到的路径。 这可以是完全限定的URL (例如""") 或者是没有域的绝对URL (例如,“/search/”)。请注意 返回HTTP状态代码302

    说够了

    render\u to\u响应(模板[,字典][,上下文实例][,mimetype])

    使用给定的上下文字典呈现给定的模板并返回 一个HttpResponse对象 渲染文本


    调用以呈现具有给定变量字典的模板,以便为您创建响应这是您大部分时间都应该使用的,因为您希望将演示逻辑保留在模板中而不是代码中。

    处理帖子后不应使用render\u to\u响应。在后处理之后,重定向是一个更好的选择,因为它不会显示表示表单将重新提交的消息。。。我将加粗。在Django 1.10中使用render。render_to_响应将被弃用