Я пытался найти решение и часами искал в Интернете. Я надеюсь, что вы, ребята, можете помочь мне найти проблему в моем коде!
Я пытаюсь реализовать форму в Django, простом текстовом поле. Как только пользователь отправит текстовые данные в поле, я хочу, чтобы он отправил данные, и я хочу, чтобы следующий просмотр извлек эти данные и распечатал их на экране. Подробно: я хочу, чтобы пользователь ввел некоторый текст в форму на странице home. html, а затем отправил его, а затем пользовательский ввод будет напечатан на следующей странице предсказать. html (конечно, я планирую преобразуйте inpur между ними, но сначала я хочу, чтобы текст хотя бы печатался на второй странице).
Это мой код:
views.py
from django.shortcuts import render
from django.http import HttpResponse
from .forms import NameForm
from django.template import RequestContext
def index(request):
return render(request, 'personal/home.html')
def predicted(request):
predicted = request.POST.get('data')
return render(request, 'personal/predicted.html', {"predicted": predicted})
def get_name(request):
if request.method == 'POST':
if form.is_valid():
return predicted(request)
else:
form = NameForm()
return render(request, 'home.html', {'form': form})
forms.py
from django import forms
class NameForm(forms.Form):
data = forms.CharField(label='Your text:', max_length=100)
home. html
{% extends "personal/header.html" %}
{% block content %}
<p>Please input your text:</p>
<br>
<form action="/predicted/" method="POST">
{% csrf_token %}
<label for="data">Your text: </label>
<input id="data" type="text" name="data">
<input type="submit" value="Submit!">
</form>
{% endblock %}
предсказано . html
{% extends "personal/header.html" %}
{% block content %}
<p><a>Your predicted text:
<br>
{{ predicted }} </a></p>
{% endblock %}
Полагаю, ошибка лежит где-то в строке predicted = request.POST.get('data')
в сочетании с какой-то другой строкой, которую я написал неправильно ... За исключением этого, все остальное работает нормально , Я хотел бы сохранить метод POST (не GET), так как данные в форме ввода могут стать довольно большими, и это приведет к огромному URL для предиката. html.
Большое вам спасибо за заранее за вашу помощь !!