我已经根据本教程(https://github.com/vaisaghvt/django-bot-server-tutorial/tree/websockets)实现了一个聊天机器人。我想实现自动完成功能,以便在键入时显示选项。
一个示例用法是该机器人询问用户“您居住在哪个城市?”。我应该能够输入“ Be”,并且机器人会提示“ Berlin”。我正在关注自动完成轻量级教程。我发现很难弄清楚如何在html上实现聊天机器人功能。
到目前为止我做了什么
实现了简单的模型自动完成模型
from dal import autocomplete
from your_countries_app.models import Country
class CountryAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Country.objects.all()
if self.q:
qs = qs.filter(name__istartswith=self.q)
return qs
注册自动完成视图
from your_countries_app.views import CountryAutocomplete
urlpatterns = [
url(
r'^country-autocomplete/$',
CountryAutocomplete.as_view(),
name='country-autocomplete',
),
]
这是我的聊天机器人消息框的html代码。
<div class="navbar navbar-default navbar-fixed-bottom non-error">
<div class="container-fluid botAccentColor" id="bottom-box">
<div class="row" id="send-box">
<div id="messageToSend" contenteditable="true" class="pull-left" data-ph="Type your message..."></div>
<div class="pull-right send-button-div">
<button id="messageSendButton" type="button" onclick="sendTextMessage(counter())">
<i class="fa fa-paper-plane" aria-hidden="true"></i>
</button>
</div>
</div>
</div>
</div>
可以做什么? 我可以修改以下代码来选择属性“ data-ph”并激发小部件吗?
autocomplete.ModelSelect2(
url='select2_fk',
attrs={
# Set some placeholder
'data-placeholder': 'Autocomplete ...',
# Only trigger autocompletion after 3 characters have been typed
'data-minimum-input-length': 3,
},
)