1

在 url.py 中,我在主 urlpatterns 列表中设置了一个新路径:

path('ko/', views.ko),

我了解到我需要在 views.py 中编写此函数才能使网页正常运行:

 def ko(request):
    return HttpResponse("It's a page")

我的问题是为什么当我将参数留空而不是请求时函数不起作用?:

def ko():
     return HttpResponse("It's a page")

当我删除请求参数时运行页面会输出 TypeError:ko() 接受 0 个位置参数,但给出了 1 个。

如果我在views.ko的函数调用中没有请求输入,那么为什么在编写初始函数时需要请求参数,请求参数是做什么的,这个请求参数在哪里?它的属性是什么?我真的很感激对其品质的彻底回应。

4

2 回答 2

1

视图函数,或简称视图,是一个接受 Web 请求并返回 Web 响应的 Python 函数。所以每个视图都必须接受一个request参数。

request对象包含有关请求的元数据,例如使用的 HTTP 请求方法、客户端的 IP 地址等。您可以在HttpRequest 此处找到列表

也来自文档

一旦其中一个 URL 模式匹配,Django 就会导入并调用给定的视图,这是一个 Python 函数(或基于类的视图)。视图传递了以下参数

HttpRequest 的一个实例。

如果匹配的 URL 模式不包含命名组,则来自正则表达式的匹配项作为位置参数提供。

关键字参数由提供的路径表达式匹配的任何命名部分组成,被 django.urls.path() 或 django.urls.re_path() 的可选 kwargs 参数中指定的任何参数覆盖。

于 2020-08-13T01:14:44.990 回答
0

每个视图函数都将一个 HttpRequest 对象作为其第一个参数,通常命名为 request

于 2020-08-13T01:37:52.663 回答