Как узнать в промежуточном программном обеспечении, какой тип URL введен? - PullRequest
1 голос
/ 27 октября 2019

Недавно я начал новый простой проект в Джанго. Я написал промежуточное программное обеспечение. но в одном из промежуточных программ я хочу знать, какой URL вызывается, потому что я должен принять решение, которое связано с URL.

Я использовал этот код:

import os

path = os.environ['PATH_INFO']

, но выдает ошибку, которая описана ниже:

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

так, как я могу узнать URL в моем промежуточном программном обеспечении?

1 Ответ

1 голос
/ 27 октября 2019

Вы можете получить путь в request, используя атрибут request.path [Django-doc] или request.path_info атрибут [Джанго-док] . Например, вы можете напечатать path со следующим простым промежуточным программным обеспечением:

from django.utils.deprecation import MiddlewareMixin

class MyMiddleware(MiddlewareMixin):

    def process_request(self, request):
        print(<b>request.path</b>)

Вы можете использовать атрибут request.schema [Django-doc] для доступа к схеме URL (http, https и т. д.) и атрибута request.method [Django-doc] для доступа к методузапрос (GET, POST, PUT, PATCH, DELETE и др.).

...