django中view.py中使用的参数'request'在哪里

问题描述 投票:0回答:1

Django Web 开发新手。我有一个关于views.py 中的请求/响应的小但令人费解的问题。

  1. 我在线自学Django,这里是http请求/响应部分。代码如下:
#from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("<h1>123</h1>")

我知道请求了索引页,django 创建了一个响应,在索引页中显示 123。我的问题是:

  1. request
    作为函数的参数,不就是用在函数体内吗,就像
    def math(x): return x+1
    一样?

  2. 另外,为什么

    render
    在这段代码中变得多余,而它应该用来产生输出?

感谢您的回答。

python django httprequest render httpresponse
1个回答
0
投票
  1. request
    对象作为参数传递,但您不在函数体中使用它。您可以 - 如果您想从传入请求中访问某些信息。假设用户传递一个数字“2023”,然后您使用
    request.get
    等捕获它。

  2. render
    函数用于呈现 HTML 模板并将上下文数据传递给该模板。来自 Django 文档

将给定模板与给定上下文字典组合并返回 带有渲染文本的 HttpResponse 对象。

Django 不提供返回一个的快捷函数 TemplateResponse 因为 TemplateResponse 的构造函数提供 与 render() 具有相同程度的便利性。

© www.soinside.com 2019 - 2024. All rights reserved.