2013-02-12 38 views
6

Tôi có một loạt các biến cần có sẵn cho chế độ xem cho tất cả các mẫu. Có vẻ như sự lựa chọn tốt nhất sẽ là một bộ xử lý ngữ cảnh.Bộ xử lý ngữ cảnh django

Các tài liệu nói:

Một bộ xử lý bối cảnh có một giao diện rất đơn giản: Nó chỉ là một Python hàm mang theo một lập luận, một đối tượng HttpRequest, và trả về một cuốn từ điển đó được bổ sung vào mẫu bối cảnh . Mỗi bối cảnh bộ vi xử lý phải trả lại một từ điển.

Nếu tôi cần tìm kiếm nâng cao hơn, tôi có thể xác định các chức năng khác không? Các chức năng có cần phải ở trong lớp không? Tôi đã nghĩ đến việc tạo một tệp có tên là context_processors.py trong thư mục ứng dụng của tôi.

Trả lời

8

Bạn có thể xác định các chức năng khác và các chức năng không cần phải ở trong một lớp học.

Thông thường mọi người đặt bộ xử lý ngữ cảnh của họ vào một số context_processors.py như bạn đang nghĩ đến dưới dạng hàm, sau đó đặt tên tất cả là settings.TEMPLATE_CONTEXT_PROCESSORS.

Ví dụ: đây là ứng dụng có số context_processors.py bên trong: django-seo.

Các vấn đề liên quan