如何在django chatbot中实现自动完成功能?

时间:2019-05-02 12:53:30

标签: django django-autocomplete-light

我已经根据本教程(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,
    },
)

0 个答案:

没有答案