Đây là một câu hỏi rất tương tự như sau thread SO trên middleware and views communicatingmiddleware vs xử lý bối cảnh để xem phụ thuộc navigation/hiển thị
Chúng tôi muốn có mẫu của chúng tôi được đưa ra một bộ tiêu chuẩn của các biến bối cảnh. Vì vậy, một bộ xử lý ngữ cảnh có vẻ thích hợp, tuy nhiên, nó không có vẻ như bộ xử lý ngữ cảnh là nhận thức. Trước đây chúng tôi đã buộc phải kiểm tra ngăn xếp cuộc gọi để nhận thông tin theo ngữ cảnh về những gì chế độ xem đang làm gì.
Đó là nơi chúng tôi đã xem chuỗi trung gian cũng như chữ ký process_view()
cho phần mềm trung gian cho phép chúng tôi xử lý chế độ xem.
Điều này dường như gần hơn với nhu cầu của chúng tôi, nhưng không cho phép chúng tôi sửa đổi biến ngữ cảnh, cũng như các phương pháp phần mềm trung gian khác.
Vì vậy, ý tưởng thân mật của chúng tôi là sửa đổi đối tượng yêu cầu với tất cả thông tin chung và ngữ cảnh mà chúng tôi cần cho mẫu của chúng tôi và buộc mẫu gọi từ {{request.something}}
để biết thông tin cụ thể mà chúng tôi cần, chẳng hạn như {{request.viewname}}
.
Vì vậy, câu hỏi của chúng tôi:
- Được sửa đổi/thiết lập các giá trị theo yêu cầu đối tượng là một điều được chấp nhận để làm cho đẩy theo ngữ cảnh/toàn cầu thông tin ứng dụng cụ thể để mẫu của bạn? Hoặc là thực hành tiêu chuẩn luôn luôn đặt nó vào bối cảnh?
- Có cách nào/thủ thuật để làm cho bộ xử lý ngữ cảnh xem nhận thức được rằng không liên quan đến việc chuyển nó một cách rõ ràng hoặc làm một số vấn đề nội tâm không?
- Liệu
middleware.process_response
có cơ hội sửa đổi ngữ cảnh hay không thay đổi?
Xem thêm http://jboxer.com/2009/05/django-middleware-vs-context-processors/ – Ztyx