繁体   English   中英

什么是 Django 视图中的“请求”

[英]what is “request” in Django view

在 Django 中第一个应用程序的 Django 教程中,我们有

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

然后 urls.py 有

from django.conf.urls import url

from polls import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

现在我的问题是传递给索引函数的“请求”参数是什么,当函数索引在 urls.py 中被调用时,它不会被传递,而变量它只是在url(r'^$', views.index, name='index'),

request 参数是一个HttpRequest对象,它包含有关请求的数据(请参阅django 3.2文档)。

在您的 urls 文件中,您没有调用view.index函数,只是列出了对它的引用。 然后,当匹配的请求传入时,Django 会调用该函数,并将HttpRequest对象作为参数传递。

这并不能直接回答您的问题,但我建议您观看此视频:

通过 Django 请求-响应循环的风景驱动器

这是 Dan Langer 今年在 PyCon 上的演讲,展示了请求和响应是如何在幕后工作的。

来自 Django文档 请求来自想要加载页面的用户。

当请求一个页面时,Django 创建一个 HttpRequest 对象,其中包含有关请求的元数据。 然后 Django 加载适当的视图,将 HttpRequest 作为第一个参数传递给视图函数。 每个视图负责返回一个 HttpResponse 对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM