Как получить URL и правильные представления с этим кодом - PullRequest
0 голосов
/ 04 июля 2019

Привет, ребята, я пытаюсь настроить своего болтуна на работу с 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),
]

Ответы [ 3 ]

0 голосов
/ 04 июля 2019

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

urlpatterns = [
        path('admin/', admin.site.urls),
        path('', home.views),
    ]
0 голосов
/ 04 июля 2019

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

def home(request):
    context = {'title': 'Sili Chatbot Version 1.0'}
    return render(request,"home.html", context)
0 голосов
/ 04 июля 2019

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

from django.contrib import admin
from sili import views

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