Django tamamlama autocompletion təklif edir Django app edir.
Aşağıdakı backends dəstəkləyir:
& Nbsp; * solr
& Nbsp; * postgres
& Nbsp; * Redis (olduqca eksperimental)
istifadə tipik Django qeydiyyat-y model aşağıdakı:
django.db idxal modelləri
başa idxal saytdan
sinif Blog (models.Model):
& Nbsp; title = models.CharField (max_length = 255)
& Nbsp; pub_date = models.DateTimeField ()
& Nbsp; content = models.TextField ()
& Nbsp; = models.BooleanField nəşr (default = True)
& Nbsp; def get_absolute_url (özünə):
& Nbsp; qaytarılması əks (blog_detail, args = [self.pk])
sinif BlogProvider (AutocompleteProvider):
& Nbsp; def get_title (özünü, obj):
& Nbsp; obj.title qayıtmaq
& Nbsp; def get_pub_date (özünü, obj):
& Nbsp; datetime.datetime geri (2010, 1, 1)
& Nbsp; def get_data (özünü, obj):
& Nbsp; qaytarılması {"stored_title: obj.title, url: obj.get_absolute_url ()}
& Nbsp; def get_queryset (özünə):
& Nbsp; qaytarılması self.model._default_manager.filter (= True nəşr)
site.register (Blog, BlogProvider)
Blog model indi AutoComplete hazırdır, lakin onlar geri bilər əvvəl obyektlərin saxlanılmalıdır:
>>> Başa idxal site
>>> Site.store_providers ()
>>> Site.suggest (tes)
[
& Nbsp; {u'stored_title: python u'testing, u'url: u / blog / 1 / '}
& Nbsp; {u'stored_title: python kodu u'testing, u'url: u / blog / 3 / '}
& Nbsp; {u'stored_title: u'web test python, u'url: u / blog / 2 / '}
& Nbsp; {u'stored_title: python ilə u'unit testlər, u'url: u / blog / 4 / '}
]
>>> Site.suggest (test)
[
& Nbsp; {u'stored_title: python u'testing, u'url: u / blog / 1 / '}
& Nbsp; {u'stored_title: python kodu u'testing, u'url: u / blog / 3 / '}
& Nbsp; {u'stored_title: u'web test python, u'url: u / blog / 2 / '}
]
Objects indeksi hər hansı bir zamanda əlavə və ya çıxarıla bilər:
>>> Site.store_object (some_blog_instance)
>>> Site.remove_object (some_other_obj)
Nizamlama
AUTOCOMPLETE_BACKEND qəbulu AutoComplete üçün istifadə üçün backend müəyyən etməyə imkan verir. variantları:
& Nbsp; * completion.backends.postgres_backend.PostgresAutocomplete
& Nbsp; * completion.backends.redis_backend.RedisAutocomplete
& Nbsp; * completion.backends.solr_backend.SolrAutocomplete
Redis Nizamlama
Yüklü Redis və Redis-py var ki, əmin olun.
AUTOCOMPLETE_REDIS_CONNECTION = 'localhost: 6379: 0 "
Nizamlama Solr
Siz Solr və pysolr yüklü əmin olun.
Lumat fayl bu kimi bir şey əlavə edin:
AUTOCOMPLETE_SOLR_CONNECTION = 'http: // localhost: 8080 / solr / AutoComplete-core /
Siz Solr (I gəlir istədiyiniz!) Istifadə başa əgər Bundan əlavə, siz solr şeması düzgün sahə anlayışlar təmin etmək lazımdır. A nümunə şeması çalışan, sizin üçün avtomatik olaraq yaradılan bilər:
django-admin.py autocomplete_schema
Bu cari kataloq bir fayl adlı schema.xml düşəcək.
Quraşdırma
python bərpa setup.py
OR
Sizin python-yolda başa qovluq qoymaq
tələblər
- Python
Şərhlər tapılmadı