Привет, ребята, я пытаюсь настроить своего болтуна на работу с Django, но по какой-то причине я не могу получить правильные URL-адреса и представления, чтобы Django отображал чат-бота на моем сервере. 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),
]
0
cyware 4 Июл 2019 в 01:54

3 ответа

Лучший ответ

Модуль views, а функция home, поэтому:

from django.contrib import admin
from sili import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home),  # <-
]
0
ipaleka 3 Июл 2019 в 23:26

Пожалуйста, из .views импортируйте домой, и этот код не предлагает, его нелегко прочитать, например

def home(request):
    context = {'title': 'Sili Chatbot Version 1.0'}
    return render(request,"home.html", context)
0
wu ajin 4 Июл 2019 в 01:39

В urls.py вы должны спроектировать свой маршрут, вы используете home.views, но вы не импортируете home, а home не имеет представлений.

urlpatterns = [
        path('admin/', admin.site.urls),
        path('', home.views),
    ]
0
mohmmad reza asgari 3 Июл 2019 в 23:33