Получение пользовательского ввода из поля ввода в Django

Итак, я пытаюсь сделать так, чтобы пользователь вводил данные, а затем добавлял их в HTML, Я пытаюсь сделать систему чатбота, у меня есть модули, я просто испытываю трудности с получением пользовательского ввода. Я искал вокруг и думал, что что-то вроде этого будет работать, но я получаю следующее:

{'rawText': None}

Я буду принимать входные данные и передавать их в модуль python, который я написал, а затем добавлять результаты также в HTML, как мессенджер, все еще новичок в python и django, поэтому я не понимаю, почему я не получаю никакого текста обратно в консоль.

".

views.py:

from django.shortcuts import redirect, render
from django.shortcuts import HttpResponse
from .forms import messageForm
from .main import get_weather, take_user_input


def home(request):
    form = messageForm()

    # Get the message to display to view.
    if request.method == "POST":
        rawText = request.GET.get('textInput')
        context = {'rawText': rawText}
    print(context)
    return render(request, 'home.html', {'form': form})

forms.py:

    from django import forms
    
    
    class messageForm(forms.Form):
        message = forms.CharField(max_length=1000)

home.html:

{% extends 'base.html'%}
{% load static %}

{% block content %}
    <h2>Blue's Chatbot</h2>
    <div>
        <div id="chatbox">
            <p class="botText"><span>Hi! Let's get to chatting.</span></p>
        </div>
        <div id="userInput">
        <form type="text" id="textInput" action="" method="POST" novalidate>
            {% csrf_token %}
            {{ form }}
            <input id="buttonInput" type="submit" value="Send">
            </form>
        </div>

{% endblock %}

Вы используете метод POST для отправки данных на сервер, поэтому вы должны получить данные из словаря POST, а не GET:

request.POST.get('textInput', '') # instead of request.GET.get('textInput', '')
Вернуться на верх