Django-selesai adalah aplikasi Django yang menawarkan autocompletion.
Mendukung backends berikut:
& Nbsp; * solr
& Nbsp; * postgres
& Nbsp; * Redis (cukup eksperimental)
Penggunaan mengikuti pola Django pendaftaran-y khas:
dari model impor django.db
dari situs impor selesai
kelas Blog (models.Model):
& Nbsp; title = models.CharField (max_length = 255)
& Nbsp; pub_date = models.DateTimeField ()
& Nbsp; content = models.TextField ()
& Nbsp; diterbitkan = models.BooleanField (default = True)
& Nbsp; def get_absolute_url (self):
& Nbsp; pulang terbalik ('blog_detail', args = [self.pk])
kelas BlogProvider (AutocompleteProvider):
& Nbsp; def get_title (self, obj):
& Nbsp; kembali obj.title
& Nbsp; def get_pub_date (self, obj):
& Nbsp; kembali datetime.datetime (2010, 1, 1)
& Nbsp; def get_data (self, obj):
& Nbsp; kembali {'stored_title': obj.title, 'url': obj.get_absolute_url ()}
& Nbsp; def get_queryset (self):
& Nbsp; pulang self.model._default_manager.filter (diterbitkan = True)
site.register (Blog, BlogProvider)
Model Blog sekarang siap untuk autocomplete, tetapi benda harus disimpan sebelum mereka dapat dikembalikan:
>>> Dari situs impor selesai
>>> Site.store_providers ()
>>> Site.suggest ('tes')
[
& Nbsp; {u'stored_title ': u'testing python', u'url ': u' / blog / 1 / '},
& Nbsp; {u'stored_title ': u'testing python kode', u'url ': u' / blog / 3 / '},
& Nbsp; {u'stored_title ': u'web pengujian python', u'url ': u' / blog / 2 / '},
& Nbsp; {u'stored_title ': tes u'unit dengan python', u'url ': u' / blog / 4 / '},
]
>>> Site.suggest ('menguji')
[
& Nbsp; {u'stored_title ': u'testing python', u'url ': u' / blog / 1 / '},
& Nbsp; {u'stored_title ': u'testing python kode', u'url ': u' / blog / 3 / '},
& Nbsp; {u'stored_title ': u'web pengujian python', u'url ': u' / blog / 2 / '},
]
Benda dapat ditambahkan atau dihapus setiap saat dari indeks:
>>> Site.store_object (some_blog_instance)
>>> Site.remove_object (some_other_obj)
Konfigurasi
Pengaturan AUTOCOMPLETE_BACKEND memungkinkan Anda untuk menentukan backend digunakan untuk autocomplete. Pilihannya adalah:
& Nbsp; * completion.backends.postgres_backend.PostgresAutocomplete
& Nbsp; * completion.backends.redis_backend.RedisAutocomplete
& Nbsp; * completion.backends.solr_backend.SolrAutocomplete
Konfigurasi Redis
Pastikan bahwa Anda memiliki Redis dan Redis-py diinstal.
Menambahkan sesuatu seperti berikut untuk pengaturan file Anda, di mana string koneksi adalah
AUTOCOMPLETE_REDIS_CONNECTION = 'localhost: 6379: 0'
Konfigurasi Solr
Pastikan bahwa Anda memiliki Solr dan pysolr diinstal.
Menambahkan sesuatu seperti ini untuk pengaturan file Anda:
AUTOCOMPLETE_SOLR_CONNECTION = 'http: // localhost: 8080 / solr / autocomplete-core /'
Selain itu, jika Anda akhirnya menggunakan Solr (yang saya akan merekomendasikan!), Anda akan perlu untuk memastikan Anda memiliki definisi lapangan yang benar dalam skema solr Anda. Contoh skema dapat dihasilkan untuk Anda secara otomatis, dengan menjalankan:
autocomplete_schema django-admin.py
Ini akan menjatuhkan sebuah file bernama schema.xml dalam direktori Anda saat ini.
Instalasi:
python setup.py install
OR
menempatkan folder selesai pada python-jalan Anda
Persyaratan :
- Python
Komentar tidak ditemukan