我正在做一个需要全文搜索一本书的项目。我一次只需要搜索一本书,我需要从书的开头获得搜索词的偏移量。我需要它用于由 Django/python 提供支持的站点,但我认为 Elasticsearch 更好更快。
目前我还没有直接通过抽象层django-haystack直接使用Elasticsearch。
编辑 1:我不仅需要向用户显示他们正在搜索的文本,而且还需要为他们显示该文本的链接。基本上它应该像 Mac 上预览中的搜索框一样工作。用户看到带有周围文本的搜索结果,如果他们点击它,他们会被 JS 重定向到书的一部分,即文本所在的位置。
在一项celery任务中,我需要在数据库中创建临时表。Daniel Roseman 在本文中解释了如何创建一个。但是此解决方案在Django 1.9中不起作用。我尝试研究Django文档和Google,但找不到任何有用的东西。
提到的文章的代码在Django 1.8中有效:
from django.db import models, cursor
from django.contrib.contenttypes.management import update_contenttypes
from django.core.management import call_command
class TempCustomerAddress(models.Model):
address = models.ForeignKey('accounts.Address')
legacy_id = models.CharField(max_length=12, unique=True)
class Meta:
app_label = 'utils'
class Command(NoArgsCommand):
def handle_noargs(self, **options):
models.register_models('utils', TempCustomerAddress)
models.signals.post_syncdb.disconnect(update_contenttypes)
call_command('syncdb')
# ... do importing and stuff referring to TempCustomerAddress ...
cursor = connection.cursor()
cursor.execute('DROP TABLE `utils_tempcustomeraddress`')
Run Code Online (Sandbox Code Playgroud) 我使用Arch Linux,python 3.4,openSSL 1.0.2d.当我向https://www.supercash.cz/提出请求时,我收到此错误.如果我使用请求或构建urllib并不重要,则始终存在相同的错误.此网站的SSL证书在Chrome浏览器中可以正常使用.
File "/usr/lib64/python3.4/urllib/request.py", line 463, in open
response = self._open(req, data)
File "/usr/lib64/python3.4/urllib/request.py", line 481, in _open
'_open', req)
File "/usr/lib64/python3.4/urllib/request.py", line 441, in _call_chain
result = func(*args)
File "/usr/lib64/python3.4/urllib/request.py", line 1225, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/usr/lib64/python3.4/urllib/request.py", line 1184, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:600)>
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它只适用于python2.7 错误 - urlopen错误[Errno 8] _ssl.c:504:EOF发生违反协议,需要帮助
这是ssl测试的结果https://www.ssllabs.com/ssltest/analyze.html?d=supercash.cz
我需要插入<form>DOM。否则,像LastPass这样的密码管理器将无法正常工作,并且您无法通过按键盘上的Enter来提交密码。我找不到比转换的全部内容更好的方法<form>来Html msg从Element msg,然后再返回。这确实是低效的。
insertForm : List (Element msg) -> Element msg
insertForm elements =
html
(Html.form []
[ layout []
(column [] elements)
]
)
Run Code Online (Sandbox Code Playgroud)
我相信肯定有更好的方法。但是我在elm-ui docs的任何地方都找不到它。