如何使用此代码正确获取网址和视图

时间:2019-07-03 22:54:36

标签: python django chatterbot

伙计们,我正试图将自己的chatterbot与Django一起使用,但是由于某些原因,我似乎无法获得正确的url和视图,以便Django在我的服务器上显示chatbot。 Django 2.1.1是我使用Python 3.7作为解释器运行的版本。我的聊天机器人位于Sili文件夹中的同一项目中,该文件夹中有自己的views.py和urls.py。

我尝试过但没有运气

    from django.contrib import admin
    from sili import views

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', home.views),
    ]

this is what is in my views.py 

    from django.shortcuts import render,render_to_response
    from django.http import HttpResponse
    import json
    from django.views.decorators.csrf import csrf_exempt

    from chatterbot import ChatBot
    # from chatterbot.trainers import ChatterBotCorpusTrainer
  chatbot=ChatBot('Sili',trainer='chatterbot.trainers.ChatterBotCorpusTrainer')

# Train based on the english corpus
chatbot.train("chatterbot.corpus.english")



@csrf_exempt
def get_response(request):
    response = {'status': None}

    if request.method == 'POST':
        data = json.loads(request.body)
        message = data['message']

        chat_response = chatbot.get_response(message).text
        response['message'] = {'text': chat_response, 'user': False, 'chat_bot': True}
        response['status'] = 'ok'

    else:
        response['error'] = 'no post data found'

    return HttpResponse(
        json.dumps(response),
            content_type="application/json"
        )


def home(request, template_name="home.html"):
    context = {'title': 'Sili Chatbot Version 1.0'}
    return render_to_response(template_name, context)

我要添加什么到urls.py以便在服务器上显示?这就是我到目前为止

from django.contrib import admin
from sili import views

urlpatterns = [
    path('admin/', admin.site.urls),
]

3 个答案:

答案 0 :(得分:0)

模块为views,功能为home,所以:

from django.contrib import admin
from sili import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home),  # <-
]

答案 1 :(得分:0)

在urls.py中,您应该设计路线 您使用home.views但未导入home和home没有view功能 正确的版本是

urlpatterns = [
        path('admin/', admin.site.urls),
        path('', home.views),
    ]

答案 2 :(得分:0)

请从.views导入首页,例如,此代码不建议使用,不易阅读

def home(request):
    context = {'title': 'Sili Chatbot Version 1.0'}
    return render(request,"home.html", context)