Python Django请求对象起源于“类视图”的何处?

Python Django请求对象起源于“类视图”的何处?,python,django,django-views,django-urls,Python,Django,Django Views,Django Urls,这是我的代码段 我正在寻找请求对象传入的代码 使用as_视图的常见位置是 但是,我无法在中引用请求对象 def url(regex, view, kwargs=None, name=None, prefix=''): if isinstance(view, (list, tuple)): # For include(...) processing. urlconf_module, app_name, namespace = view ret

这是我的代码段

我正在寻找请求对象传入的代码

使用as_视图的常见位置是

但是,我无法在中引用请求对象

def url(regex, view, kwargs=None, name=None, prefix=''):
    if isinstance(view, (list, tuple)):
        # For include(...) processing.
        urlconf_module, app_name, namespace = view
        return RegexURLResolver(regex, urlconf_module, kwargs, app_name=app_name, namespace=namespace)
    else:
        if isinstance(view, six.string_types):
            warnings.warn(
                'Support for string view arguments to url() is deprecated and '
                'will be removed in Django 1.10 (got %s). Pass the callable '
               'instead.' % view,
            RemovedInDjango110Warning, stacklevel=2
            )
            if not view:
                raise ImproperlyConfigured('Empty URL pattern view name not permitted (for pattern %r)' % regex)
            if prefix:
                view = prefix + '.' + view
        return RegexURLPattern(regex, view, kwargs, name)

有人能给我指个方向吗?

请求由以下人员处理:


请求由以下人员处理:


请求是从中创建的


詹姆斯·贝内特在一篇文章中谈到了这一点。可以找到幻灯片。

请求是从中创建的


詹姆斯·贝内特在一篇文章中谈到了这一点。可以找到幻灯片。

请注意,请求从未作为视图()传递给

加载url配置时,会在处理任何请求之前调用
as_view()
方法。它定义了一个方法
视图
,并返回它

def view(request, *args, **kwargs):
    ...
return view
视图
方法接受参数
请求
、位置参数和关键字参数。然后将
视图
方法传递给url实例。请注意,
url
只需要一个接受
request
参数的callable。这可能是通过调用
作为_view()
返回的可调用项。对于基于类的视图或基于常规函数的视图,它不会影响请求如何传递到视图

def function_view(request, *args, **kwargs):
    return HttpResponse("I'm a function based view")

url(r'^cbv/$', MyView.as_view()),
url(r'^fv/$', function_view), 

然后,当处理一个请求时,url被解析为这个
视图
,并且
BaseHandler。get_response
调用带有请求的视图,并从url捕获args和kwargs。

请注意,请求永远不会作为
视图()传递给

加载url配置时,会在处理任何请求之前调用
as_view()
方法。它定义了一个方法
视图
,并返回它

def view(request, *args, **kwargs):
    ...
return view
视图
方法接受参数
请求
、位置参数和关键字参数。然后将
视图
方法传递给url实例。请注意,
url
只需要一个接受
request
参数的callable。这可能是通过调用
作为_view()
返回的可调用项。对于基于类的视图或基于常规函数的视图,它不会影响请求如何传递到视图

def function_view(request, *args, **kwargs):
    return HttpResponse("I'm a function based view")

url(r'^cbv/$', MyView.as_view()),
url(r'^fv/$', function_view), 
然后,当处理一个请求时,url被解析为这个
视图
,并且
BaseHandler.get_response
调用带有请求的视图,并从url捕获args和kwargs