2012-04-01 53 views
7

Tôi vừa nâng cấp django lên 1.4. Tôi đang gặp rắc rối với ứng dụng haystack. Ngoài ra, tôi đã cố gắng cập nhật haystack lên phiên bản ổn định cuối cùng nhưng tôi vẫn gặp sự cố. Có ai có lỗi này không? Làm thế nào tôi có thể giải quyết nó?Haystack không tương thích với Django 1.4?

Tôi nhận được các lỗi sau.

Khi tôi truy cập vào bất kỳ trang:

cannot import name MAX_SHOW_ALL_ALLOWED haystack\admin.py in <module>, line 2 

# python manage.py rebuild_index 
django.core.exceptions.ImproperlyConfigured: Error importing template source loader 
django.template.loaders.app_directories.load_template_source: 
    "'module' object has no attri bute 'load_template_source'" 

Cảm ơn

Trả lời

6

có một vấn đề trong đống cỏ khô/file admin.py. Cố gắng làm như sau:

  1. remove nhập khẩu đối với MAX_SHOW_ALL_ALLOWED
  2. trước lớp SearchChangeList add phương pháp:

    def list_max_show_all(changelist): 
        """ 
        Returns the maximum amount of results a changelist can have for the 
        "Show all" link to be displayed in a manner compatible with both Django 
        1.4 and 1.3. See Django ticket #15997 for details. 
        """ 
        try: 
         # This import is available in Django 1.3 and below 
         from django.contrib.admin.views.main import MAX_SHOW_ALL_ALLOWED 
         return MAX_SHOW_ALL_ALLOWED 
        except ImportError: 
         return changelist.list_max_show_all 
    
  3. trong SearchChangeList.get_results() thay đổi can_show_all để

    can_show_all = result_count <= list_max_show_all(self) 
    

Kiểm tra this thread để biết thêm thông tin cơ bản về vấn đề này.

+0

Điều này đòi hỏi sửa đổi Haystack dù :( – Geekfish

+0

Nhưng liên kết Tôi đưa vào câu trả lời là ngã ba với giải pháp này. – szaman

+0

Thats một điều đáng tiếc rằng mã này vẫn còn trong chi nhánh (wasnt cam kết để phát hành cuối cùng). – Thomas

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