Django Web 开发新手。我有一个关于views.py 中的请求/响应的小但令人费解的问题。
#from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("<h1>123</h1>")
我知道请求了索引页,django 创建了一个响应,在索引页中显示 123。我的问题是:
以
request
作为函数的参数,不就是用在函数体内吗,就像def math(x): return x+1
一样?
另外,为什么
render
在这段代码中变得多余,而它应该用来产生输出?
感谢您的回答。
request
对象作为参数传递,但您不在函数体中使用它。您可以 - 如果您想从传入请求中访问某些信息。假设用户传递一个数字“2023”,然后您使用 request.get
等捕获它。
render
函数用于呈现 HTML 模板并将上下文数据传递给该模板。来自 Django 文档
将给定模板与给定上下文字典组合并返回 带有渲染文本的 HttpResponse 对象。
Django 不提供返回一个的快捷函数 TemplateResponse 因为 TemplateResponse 的构造函数提供 与 render() 具有相同程度的便利性。