Tôi đang cố tạo bộ xử lý ngữ cảnh tùy chỉnh sẽ hiển thị danh sách các mục menu cho người dùng đã đăng nhập. Tôi đã làm như sau:Không thể nhận được bộ xử lý ngữ cảnh tùy chỉnh được gọi
Trong settings.py của tôi, tôi có
TEMPLATE_CONTEXT_PROCESSOR = ( 'django.contrib.auth.context_processors.auth', 'mysite.accounts.context_processors.user_menu', )
Theo các tài khoản submodule Tôi có context_processors.py
với những điều sau đây, cho bây giờ:
def user_menu(request): return {'user_menu':'Hello World'}
Trên trang mẫu của tôi, tôi có:
{% if user.is_authenticated %} Menu {{user_menu}} {% endif %}
Quan điểm cách gọi như sau:
def profile(request): return render_to_response('accounts/profile.html',context_instance=RequestContext(request))
Tuy nhiên tôi không thể có được {{user_menu}}
để render bất cứ điều gì trên trang web, tôi biết người dùng được xác thực như các phần khác của mẫu với kiểm tra tương tự làm đúng. Am i thiếu cái gì ở đây. Xin vui lòng giúp Cảm ơn bạn
Edit: Cảm ơn Ben, Daniel, tôi đã cố định (S) trong TEMPLATE_CONTEXT_PROCESSOR
, tuy nhiên Django hiện nay có gặp khó khăn giải quyết các module và tôi nhận được thông báo sau
Error importing request processor module django.contrib.auth.context_processors: "No module named context_processors"
CẬP NHẬT: Tôi đã sửa lỗi bằng cách thay đổi đường dẫn đến django.core.context_processors.auth
Có vẻ như các mô-đun đã được di chuyển xung quanh
Nó phải là 'TEMPLATE_CONTEXT_PROCESSORS' –