django-hoàn là một ứng dụng Django mà cung cấp tự động gõ.
Hỗ trợ các trình sau:
& Nbsp; * Solr
& Nbsp; * postgres
& Nbsp; * redis (khá thử nghiệm)
sử dụng sau điển hình mô hình django đăng ký-y:
từ các mô hình nhập khẩu django.db
từ hoàn nhập trang web
class Blog (models.Model):
& Nbsp; title = models.CharField (max_length = 255)
& Nbsp; pub_date = models.DateTimeField ()
& Nbsp; content = models.TextField ()
& Nbsp; xuất bản = models.BooleanField (mặc định = True)
& Nbsp; def get_absolute_url (tự):
& Nbsp; trở lại đảo ngược ('blog_detail', args = [self.pk])
lớp BlogProvider (AutocompleteProvider):
& Nbsp; def get_title (self, obj):
& Nbsp; return obj.title
& Nbsp; def get_pub_date (self, obj):
& Nbsp; return datetime.datetime (2010, 1, 1)
& Nbsp; def get_data (self, obj):
& Nbsp; trở lại {'stored_title': obj.title, 'url': obj.get_absolute_url ()}
& Nbsp; def get_queryset (tự):
& Nbsp; trở self.model._default_manager.filter (xuất bản = True)
site.register (Blog, BlogProvider)
Các model Blog đã sẵn sàng để tự động hoàn chỉnh, nhưng các đối tượng phải được lưu trữ trước khi chúng có thể được trả lại:
>>> Từ hoàn nhập trang web
>>> Site.store_providers ()
>>> Site.suggest ('tes')
[
& Nbsp; {u'stored_title ': u'testing python', u'url ': u' / blog / 1 / '},
& Nbsp; {u'stored_title ': u'testing code python', u'url ': u' / blog / 3 / '},
& Nbsp; {u'stored_title ': u'web thử nghiệm python', u'url ': u' / blog / 2 / '},
& Nbsp; {u'stored_title ': kiểm tra u'unit với trăn', u'url ': u' / blog / 4 / '},
]
>>> Site.suggest ('thử nghiệm')
[
& Nbsp; {u'stored_title ': u'testing python', u'url ': u' / blog / 1 / '},
& Nbsp; {u'stored_title ': u'testing code python', u'url ': u' / blog / 3 / '},
& Nbsp; {u'stored_title ': u'web thử nghiệm python', u'url ': u' / blog / 2 / '},
]
Đối tượng có thể được thêm vào hoặc loại bỏ bất cứ lúc nào từ các chỉ số:
>>> Site.store_object (some_blog_instance)
>>> Site.remove_object (some_other_obj)
Cấu hình
Các thiết lập AUTOCOMPLETE_BACKEND cho phép bạn xác định những phụ trợ để sử dụng cho tự động hoàn chỉnh. Các tùy chọn là:
& Nbsp; * completion.backends.postgres_backend.PostgresAutocomplete
& Nbsp; * completion.backends.redis_backend.RedisAutocomplete
& Nbsp; * completion.backends.solr_backend.SolrAutocomplete
Cấu hình Redis
Hãy chắc chắn rằng bạn có Redis và redis-py cài đặt.
Thêm một cái gì đó như sau để cài đặt tập tin của bạn, nơi mà các chuỗi kết nối là
AUTOCOMPLETE_REDIS_CONNECTION = 'localhost: 6379: 0'
Cấu hình Solr
Hãy chắc chắn rằng bạn có Solr và pysolr cài đặt.
Thêm một cái gì đó như thế này để cài đặt tập tin của bạn:
AUTOCOMPLETE_SOLR_CONNECTION = 'http: // localhost: 8080 / Solr / autocomplete-core /'
Ngoài ra, nếu bạn kết thúc bằng cách sử dụng Solr (mà tôi muốn khuyên bạn nên!), Bạn sẽ cần phải đảm bảo bạn có các định nghĩa lĩnh vực chính xác trong schema Solr của bạn. Một lược đồ mẫu có thể được tạo ra cho bạn tự động, bằng cách chạy:
autocomplete_schema django-admin.py
Điều này sẽ thả một tập tin có tên schema.xml trong thư mục hiện tại của bạn.
Cài đặt:
python setup.py cài đặt
HOẶC
đặt các thư mục hoàn thành vào python-con đường của bạn
Yêu cầu :
- Python
Bình luận không