Как я могу добавить поле для запроса тела в промежуточном программном обеспечении Django - PullRequest
0 голосов
/ 01 сентября 2018

Я хочу добавить новое поле в теле запроса в промежуточном программном обеспечении и использовать его в представлениях.

Я погуглил, но результаты не сработали.

Как я могу это сделать?

Django v2 python 3.6

1 Ответ

0 голосов
/ 01 сентября 2018

Попробуйте следующий код:

class SimpleMiddleware:
def __init__(self, get_response):
    self.get_response = get_response

def __call__(self, request):
    my_request  = request.GET.copy()
    my_request['foo']='bar'
    request.GET = my_request
    response = self.get_response(request)
    return response

Я пробовал это для вас: добавленный выше код в: example.py Затем добавил 'example.SimpleMiddleware', в MIDDLEWARE

Мой view метод:

def index(request):
    for key in request.GET:
         print (key, '--->', request.GET[key])
    return render(request, 'example.html')

умеет печатать foo ---> bar браузер отправляет запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...