2012-08-29 2 views
1

Я хочу знать, как использовать промежуточное программное обеспечение django и для чего они используются? И с чем я не могу обойтись без них.Как использовать Django Middleware

Не хватает HttpRequest и HttpResponse django для обработки любых вещей, которые могут мне понадобиться.

Наконец, когда я должен начать думать, что мне нужно пойти в промежуточное программное обеспечение django.

Спасибо!

+2

и ...? Попробуйте [this] (https://www.google.com/search?q=Django%20Middleware) ссылку. – Jaguar

ответ

3

Вкратце: используйте промежуточное программное если вы хотите что-то всегда случаются до и/или после каждого вида (то есть до того, как запрос достигает ваше мнение или после того, как ответ оставил их).

См. this question.

Используйте их, если вы хотите сделать что-то, что не зависит от вида до или после всех ваших просмотров. . если вы хотите зарегистрировать все запрошенные URL-адреса, вы должны использовать промежуточное программное обеспечение, которое получает request.path и записывает его где-нибудь.

+0

Прежде всего, спасибо Дону за ваш ответ, во-вторых, не могу ли я сделать это просто с HttpResponse/Request в моем приложении? Дело в том, что большую часть времени я не буду думать о промежуточном программном обеспечении, после чего я начну думать о них .. я что-то пропустил – securecurve

+0

Спасибо всем парням за помощь и поддержку – securecurve

4

Django middleware - это функция структуры, которая поможет вам сделать один и тот же набор действий для всех ваших запросов. Вы можете подумать об этом как о легкой, низкоуровневой «плагиновой» системе для глобального изменения ввода и/или вывода Django. Вы можете определить любые числа посредников, а затем включить любое подмножество из них с помощью кортежа MIDDLEWARES в settings.py.

Точнее, промежуточное ПО представляет собой класс, который имеет несколько функций: process_request, process_view, process_template_response и т. Д., И django будет вызывать каждую из своих функций для каждого процесса за определенное время, например process_view вызывается перед кодом в views.py выполняется.

Следовательно, если вы хотите сделать то же самое для всех своих запросов, вы можете подумать о посредниках как о гибком и мощном варианте. Чтобы узнать больше о посредниках и как их написать, см.: https://docs.djangoproject.com/en/dev/topics/http/middleware/