Django的完成是一个Django应用程序,提供自动完成。
支持以下后端:
  *的Solr
  *的Postgres
  * Redis的(相当实验性的)
用法如下典型的Django登记-Y模式:
从django.db进口车型
从完成导入站点
班级博客(models.Model):
 标题= models.CharField(MAX_LENGTH = 255)
  pub_date = models.DateTimeField()
 内容= models.TextField()
 发表= models.BooleanField(默认值= TRUE)
 高清get_absolute_url(个体经营):
 相反的收益(“blog_detail',的args = [self.pk])
类BlogProvider(AutocompleteProvider):
 高清get_title(个体经营,OBJ):
 返回obj.title
 高清get_pub_date(个体经营,OBJ):
 返回datetime.datetime(2010年,1,1)
 高清GET_DATA(个体经营,OBJ):
 返回{'stored_title“:obj.title,”URL“:obj.get_absolute_url()}
 高清get_queryset(个体经营):
 返程self.model._default_manager.filter(出版= TRUE)
site.register(博客,BlogProvider)
博客模式现在可以自动完成,但对象必须存储它们可以返回之前:
>>>从完成导入站点
>>> site.store_providers()
>>> site.suggest(“TES”)
[
  {u'stored_title“:u'testing蟒蛇',u'url':U'/博客/ 1 /'},
  {u'stored_title“:u'testing Python代码',u'url':U'/博客/ 3 /'},
  {u'stored_title“:u'web测试蟒蛇',u'url':U'/博客/ 2 /'},
  {u'stored_title“:u'unit测试与蟒蛇”,u'url':U'/博客/ 4 /'},
]
>>> site.suggest('测试')
[
  {u'stored_title“:u'testing蟒蛇',u'url':U'/博客/ 1 /'},
  {u'stored_title“:u'testing Python代码',u'url':U'/博客/ 3 /'},
  {u'stored_title“:u'web测试蟒蛇',u'url':U'/博客/ 2 /'},
]
对象可以被添加或删除,在从索引任何时间:
>>> site.store_object(some_blog_instance)
>>> site.remove_object(some_other_obj)
配置
该AUTOCOMPLETE_BACKEND设置允许您指定用于自动完成这后端。选项有:
  * completion.backends.postgres_backend.PostgresAutocomplete
  * completion.backends.redis_backend.RedisAutocomplete
  * completion.backends.solr_backend.SolrAutocomplete
Redis的配置
请确保您有Redis的和Redis的-PY安装。
添加类似下面来设置文件,其中连接字符串为<主机名>:<端口>:<数据库>
AUTOCOMPLETE_REDIS_CONNECTION =“本地主机:6379:0”
配置Solr的
请确保你已经安装了Solr的和pysolr。
加入这样的事情来设置文件:
AUTOCOMPLETE_SOLR_CONNECTION =“HTTP://本地主机:8080 / Solr的/自动完成核心/'
此外,如果你最终使用Solr的(我建议你!),你需要确保你有你的Solr模式正确的字段定义。可以为你自动生成一个示例模式,通过运行:
django-admin.py autocomplete_schema
这会在当前目录中删除一个文件名为schema.xml中。
安装:
蟒蛇setup.py安装
或
把完成文件夹中的python-路径
要求:
- 在Python的
评论没有发现