Django 如何知道在中间件中输入了哪种类型的url?

Django 如何知道在中间件中输入了哪种类型的url?,django,middleware,url-pattern,Django,Middleware,Url Pattern,最近我在Django启动了一个新的简单项目。我写了一些中间件。但在其中一个中间件中,我想知道调用哪个URL,因为我必须做出与URL相关的决定 我使用了以下代码: import os path = os.environ['PATH_INFO'] 但它会产生如下所述的错误: raise KeyError(key) from None KeyError: 'PATH_INFO' 那么我如何知道中间件中的URL呢?您可以使用或获取请求中的路径。例如,您可以使用以下简单中间件打印路径:

最近我在Django启动了一个新的简单项目。我写了一些中间件。但在其中一个中间件中,我想知道调用哪个URL,因为我必须做出与URL相关的决定

我使用了以下代码:

import os

path = os.environ['PATH_INFO']

但它会产生如下所述的错误:

    raise KeyError(key) from None
KeyError: 'PATH_INFO'


那么我如何知道中间件中的URL呢?

您可以使用或获取
请求中的路径。例如,您可以使用以下简单中间件打印
路径

from django.utils.deprecation import MiddlewareMixin

class MyMiddleware(MiddlewareMixin):

    def process_request(self, request):
        print(request.path)
来自django.utils.Depraction导入MiddlewareMixin
类MyMiddleware(MiddlewareMixin):
def过程_请求(自我,请求):
打印(请求路径)

您可以使用访问URL的架构(
http
https
,等等),以及访问请求的方法(
GET
POST
PUT
补丁
删除
,等等)。

您可以使用
request.path\u info