0

嘿伙计们,我正在尝试设置我的聊天机器人以与 Django 一起使用,但由于某种原因,我似乎无法让 Django 正确地获取 URL 和视图,以便在我的服务器上显示聊天机器人。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),
]
4

3 回答 3

0

模块是views,函数是home,所以:

from django.contrib import admin
from sili import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home),  # <-
]
于 2019-07-03T23:26:58.253 回答
0

在 urls.py 你应该设计你的路线你使用 home.views 但你不导入 home 和 home 没有视图功能正确的版本是

urlpatterns = [
        path('admin/', admin.site.urls),
        path('', home.views),
    ]
于 2019-07-03T23:33:25.273 回答
0

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

def home(request):
    context = {'title': 'Sili Chatbot Version 1.0'}
    return render(request,"home.html", context)
于 2019-07-04T01:39:06.733 回答