2015-04-27 12 views
5

The Haystack documentation states that:Xác định một con đường thay thế cho một mẫu Haystack

Bên cạnh đó, chúng tôi cung cấp use_template=True trên các lĩnh vực văn bản. Điều này cho phép chúng ta sử dụng một mẫu dữ liệu (thay vì kết nối dễ bị lỗi) để xây dựng tài liệu mà công cụ tìm kiếm sẽ lập chỉ mục. Bạn sẽ cần phải tạo mẫu mới bên trong thư mục mẫu của mình được gọi là search/indexes/myapp/note_text.txt

Thật không may, không có thông tin về việc cần làm nếu bạn muốn mẫu có tên khác.

Có thể chỉ định đường dẫn đến mẫu tài liệu haystack không?

Trả lời

7

Xong, tôi đã tìm kiếm điều này trong một tuần.

Its listed under the SearchField API documentation, là lớp bậc trên của các trường thực tế trong chỉ mục tìm kiếm.

SearchField.template_name

Cho phép bạn ghi đè lên tên của mẫu để sử dụng khi chuẩn bị dữ liệu. Theo mặc định, các mẫu dữ liệu cho các trường nằm trong phạm vi TEMPLATE_DIRS dưới đường dẫn như search/indexes/{app_label}/{model_name}_{field_name}.txt. Tùy chọn này cho phép bạn ghi đè đường dẫn đó (mặc dù vẫn nằm trong phạm vi TEMPLATE_DIRS).

Ví dụ:

bio = CharField(use_template=True, template_name='myapp/data/bio.txt') 

Bạn cũng có thể cung cấp một danh sách các mẫu, như loader.select_template là sử dụng dưới mui xe.

Ví dụ:

bio = CharField(use_template=True, template_name=['myapp/data/bio.txt', 'myapp/bio.txt', 'bio.txt']) 
+1

Cảm ơn bạn đã trả lời. Tôi đã đấu tranh với điều này mãi mãi. Tôi ngạc nhiên khi họ ghi lại điều này rất kém. Cảm ơn một lần nữa! –

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