Я настраиваю простую html-страницу, страница фиксирует информацию, введенную пользователем, и на основе введенной пользователем информации создает новую страницу. Проблема в том, что я не могу вернуть информацию, введенную пользователем при поддержке, и я не понимаю, где я ошибаюсь.
Мой файл представлений настроен следующим образом:
def suggestion(request):
if request.method == 'POST':
form = BusinessName(request.POST)
if form.is_valid():
data=form.cleaned_data
context = insert_function_here(data)
return render( request,'mainpage.html', context)
else:
form = BusinessName()
context = {'form':form}
return render( request,'mainpage.html', context)
Мои формы.py настроены следующим образом:
class BusinessName(forms.Form):
business_name = forms.CharField(widget = forms.HiddenInput(), required = False)
Соответствующая часть моего html настроена следующим образом:
<form id="user_input_form" method="post" action="http://127.0.0.1:8000/textinsighters/suggestion">
Enter Your Business Name : <input type="text" list="browsers" name="browser" id="user_input">
{% csrf_token %}
{{ form }}
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
<button onclick="myFunction()">Submittt</button>
</form>
<script>
function myFunction() {
document.getElementById("id_business_name").value = document.getElementById("user_input").value;
document.getElementById("user_input_form").submit();
}
</script>
Мне нужен список автозаполнения, поэтому я создаю форму в html. Я получаю пользовательский ввод, устанавливаю значение поля формы Django в значение, введенное пользователем, и отправляю его. Я должен что-то вернуть, но переменная «данные» в представлениях не содержит пользовательский ввод.
Спасибо